두 개의 레이블이있는 MyCustomView를 만들었습니다. 하나는 왼쪽에, 다른 하나는 오른쪽 정렬과 오른쪽에 있습니다. 약 30px 높이입니다 (중요하지 않습니다). xib에 연결하면 작동합니다. .xib에서 주보기 너비를 400px로 설정하고 라벨에 자동 레이아웃 제한을 설정합니다.iOS Layout 사용자 정의보기가 크기가 조정될 때 xib로 생성됩니다.
이제 문제가 발생했습니다. IB에서 내 컨트롤러에 UIView를 추가하고 클래스를 MyCustomView로 설정하면 왼쪽 레이블이 보이지만 오른쪽 레이블은 화면 밖입니다. 제약 조건을 올바르게 설정했지만 작동하지 않습니다. .xib에서 MyCustomView의 크기를 마우스로 조정하려고 할 때 가장자리로 이동하려고했지만 괜찮 았지만 오른쪽 열에 "수동으로"너비 값을 설정하면 오른쪽으로 레이아웃되지 않습니다 (전혀 변경되지 않음). 문제가 어디에 있습니까? 이 문제를 어떻게 해결할 수 있습니까?
@implementation MyCustomView
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self) {
[self commonInit];
}
return self;
}
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self commonInit];
}
return self;
}
- (void)commonInit
{
self.backgroundColor = [UIColor clearColor];
self.view = [[[NSBundle mainBundle] loadNibNamed:@"MyCustomView"
owner:self
options:nil] firstObject];
[self addSubview:self.view];
//self.translatesAutoresizingMaskIntoConstraints = NO;
}
- (void)awakeFromNib {
[super awakeFromNib];
//[self setNeedsUpdateConstraints];
//[self setNeedsLayout];
}
@end
의견에서 볼 수 있듯이 나는 어떤 방법을 시도했지만 아무 도움도주지 못했습니다.
레이블에 자동 레이아웃 제약 조건을 설정했다고 말했습니까? 정확히 짧게 한 것을 설명 할 수 있습니까? – aytunch
오른쪽 레이블의 경우 제약 조건을 설정합니다 : 너비를 100, 위쪽, 아래쪽 및 후행 공백을 0으로 설정하십시오. –
사용자 정의 뷰를 수퍼 뷰에 추가 한 후에 제약 조건을 추가하면 안됩니까? –