私はIOSプログラミングの初心者ですので、以下の問題で少し苦労します。私は問題を説明するために全力を尽くし、どんな助力も大変ありがとうございます。Xcodeのあるクラスの変数に別のクラスの変数をアクセスまたは操作するには
私は次のように作成しました:と呼ばれる2つのサブビューがある
- AboutViewController(.H、.Mと.xib) - MAINVIEW、InfoViewのを。 mainViewおよびinfoViewインタフェースは、XIBファイルに作成されます。次のように
@interface TestView : UIView { IBOutlet UIView *mainView; IBOutlet UIView *infoView; UILabel *lbltitle; UIImageView *imgIcon; IBOutlet UITextView *txtInfo1; IBOutlet UITextView *txtInfo2; IBOutlet UITextView *txtInfo3; } @property (nonatomic, retain) IBOutlet UILabel *lbltitle; @property (nonatomic, retain) IBOutlet UIImageView *imgIcon;
TestView.mは次のとおりです:
- TestViewには、次のよう
TestView.hがある(Viewは、MAINVIEWとInfoViewの間でトグル、開始に対処するため)
#import "TestView.h"
#import <QuartzCore/QuartzCore.h>
@implementation TestView
@synthesize lbltitle, imgIcon;
-(void)awakeFromNib
{
[self addSubview:mainView];
}
ポートレートモードではビューが大きく機能していますが、ランドスケープモードではビューはすべてがちょっと怖かった。私はXIBを使いこなそうとしましたが、あなたはあまり多くのことしかできないので、私はこれをプログラム的にやることにしました。
AboutViewController.mでは、私はwillAnimateRotationToInterfaceOrientationメソッドをオーバーライドし、方向に基づいてオブジェクトを配置しようとしています。ブレークポイントを置くと、UIに変換されない、つまりUIが変更されないということを除いて、コードが呼び出されていることがわかります。私は間違って何をしていますか?私は別の方法でこれに接近しているべきですか?どんな提案や指導も大歓迎です。
- (void)willAnimateRotationToInterfaceOrientation: (UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
TestView *t = [[TestView alloc]init];
if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
toInterfaceOrientation == UIInterfaceOrientationLandscapeRight)
{
[t.imgIcon setFrame:CGRectMake(10,74,165,190)];
[t.lbltitle setFrame:CGRectMake(20, 10, 387, 21)];
}
else
{
[t.imgIcon setFrame:CGRectMake(10,74,165,190)];
[t.lbltitle setFrame:CGRectMake(189, 10, 387, 21)];
}
}
ok;ここで私が達成しようとしていること、それを行うための最善の方法を教えてください。 私はタブビューを持っています、各タブは独自のxibファイルを持っています。タブの1つでは、一連の写真を表示したいと思います。ピクチャをクリックすると、クリックした画像の詳細が表示されます。 –
ここで「正確に」という意味ですか? –
私はあまりにもすぐに "リターン"に当たった。コメントを編集しました。もう一度ご覧ください。 –