ビュー コントローラーの 1 つで UILabel の特定のテキストに基づいてイメージビューを調整したいのですが、イメージビューのフレームが変わりません。簡単にするために、イメージビューのフレームをハードコードされた値に設定しようとしているだけです。成功せずに次のオプションを試しました:
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
self.lessonIcon.frame = CGRectMake(0, 0, 20, 20);
}
-(void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
self.lessonIcon.frame = CGRectMake(0, 0, 20, 20);
}
//This method is actually one I created.. it gets called in the modal completion callback
-(void)adjustFrame
{
self.lessonIcon.frame = CGRectMake(0, 0, 20, 20);
}
過去にこのような問題が発生したのは、ビュー自体のレイアウトが完了しておらず、制約と競合していたためです。通常、viewDidLayoutSubviews が適用されると、これは適用されなくなります。しかし、今回は、画像ビューがストーリーボードに配置された場所に頑固にとどまっています。このイメージビューのフレームをプログラムで変更するにはどうすればよいですか?