0

アプリケーション ボタンの画像を読み込んでいるときに、 の最初のビューでは読み込まれませんviewDidLoadが、 の後に読み込まれviewWillAppearます。

ここに私のコードがあります、

if (activityorientation == UIInterfaceOrientationPortrait || activityorientation == UIInterfaceOrientationPortraitUpsideDown)
{
    CGRect frameloginscreenbutton1 = CGRectMake(0, 0, 768,1004);
    [loginscreenbutton1 setFrame:frameloginscreenbutton1];

}
else if(activityorientation == UIInterfaceOrientationLandscapeLeft || activityorientation == UIInterfaceOrientationLandscapeRight)
{       
    CGRect frameloginscreenbutton1 = CGRectMake(0, 0, 1024,768);
    [loginscreenbutton1 setFrame:frameloginscreenbutton1];
}

ポインタはありますか?

4

2 に答える 2

1

ボタンがペン先からロードされているかどうかに依存します。nib からロードされている場合は、呼び出された時点でviewDidLoadは存在しません。これは、ブレークポイントを使用して自分で確認できます。viewDidAppear:と呼ばれる頃には作成されています。

Interface Builder から (xib ファイルまたはストーリーボードから) ロードされた項目を構成する場合は、オーバーライドするのが適切なタイミングです。awakeFromNib

于 2013-09-10T13:43:04.920 に答える
0

はい、またはこのようなものが作成されていないためだと思います...

このメソッドを使用して、ゼロ遅延後にviewdidloadでフレームを設定できます。

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self performSelector:@selector(setButtonFrame) withObject:nil afterDelay:0];
}

-(void) setButtonFrame 
{
   //your code
}

うまくいかない場合は、0.1 などの他の遅延を試してください。

于 2013-09-02T09:23:48.533 に答える