4

コンテナ ビューがあります@property (weak, nonatomic) IBOutlet UIView *containerView;が、フレームを設定しても移動しません。これが私がしようとしている方法です:

- (void)setFramesForCategories
{
    CGRect frame = _containerView.frame;
    frame.origin.x = 20;
    frame.origin.y = self.view.frame.size.height - 52;
    frame.size.width = 236;
    frame.size.height = 60 * [[_dataDict objectForKey:@"Key"] count];
    _containerView.frame = frame;
}

これは基本的なことであり、以前はプログラムで作成されたオブジェクトを移動していたときにうまくいきましたが、今はうまくいきません。

4

2 に答える 2

13

私が抱えていた問題は、ストーリーボードで設定された制約がフレームの変更を上書きしていたことでした。これは、プログラムで追加されたオブジェクトで同じ問題が発生しなかった理由を説明しています。プロジェクトの制約をオフにするために私がしなければならなかったのは、Storyboard.storyboardファイルに移動し、[ユーティリティ]サイドバーが開いていることを確認して、[ファイルインスペクター]タブを選択することだけでした。次に、「Interface Builder Document」の下を下にスクロールして、「UseAutolayout」の選択を解除しました。この後、プロジェクトを再実行して、フレームの設定がプログラムで機能することを確認しました。

于 2012-12-06T16:51:48.807 に答える