これは私を少しやめさせています。コントロールのフレーム プロパティがいつ有効であることが保証されるかを知るための予測可能なパターンはないようです。具体的には、ハードウェアに応じて UILabel のフレーム位置を変更しようとしています。との両方viewDidLoad
でviewWillAppear
、frame プロパティは nil です。調整するまで待つviewDidAppear
と、ラベルが移動するのがユーザーに表示されますが、これはくだらないことです。
過去の他のView Controllerでは、以前のメソッドでラベルのフレームを取得できました。何を与える?レイアウトを開始するためにできることはありますか?
問題の UILabel は IB とストーリーボードを使用して追加されたことに言及する必要があります。これは通常、VC を行う方法です。
- (void)viewDidLoad{
[super viewDidLoad];
}
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
}
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
}