0
私はinitWithFrameを使用していたが、すべてが問題なくだった。しかし、私の上司は、autoLayoutは一般的にはより良い方法であると言いました。そこで、imageViewに4つの制約を追加しようとしましたが、シミュレータで実行すると突然画面に表示されません。それがうまく働いていたiOS autoLayoutビューが画面に表示されませんか?
私が持っているloadViewメソッドで- (UIImageView *) titleImage
{
if (!_titleImage){
_titleImage =[[UIImageView alloc] init];
_titleImage.image = [UIImage imageNamed:@"Example.png"];
[self.view addConstraint:
[NSLayoutConstraint constraintWithItem:_titleImage
attribute:NSLayoutAttributeTop
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeTop
multiplier:1.0
constant:100]];
[self.view addConstraint:
[NSLayoutConstraint constraintWithItem:_titleImage
attribute:NSLayoutAttributeLeading
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeLeading
multiplier:1.0
constant:100]];
[self.view addConstraint:
[NSLayoutConstraint constraintWithItem:_titleImage
attribute:NSLayoutAttributeTrailing
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeTrailing
multiplier:1.0
constant:-100]];
[self.view addConstraint:
[NSLayoutConstraint constraintWithItem:_titleImage
attribute:NSLayoutAttributeBottom
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeBottom
multiplier:1.0
constant:-100]];
}
return _titleImage;
}
そして...
[self.view addSubview:self.titleImage];
私はちょうどinitWithFrame x
、y
、width
、height
を使用。私はその行を削除し、4つの制約を追加したので、私はそれを私の画面に表示することはできません。
をあなたは –
をaddSubview後にそう、私は私のセッターに制約を追加することはできません制約を追加する必要がありますか? – BeefJurky