Ответ 1
Для всех, кто сталкивается с этим... Мне нужно было добавить более одного ограничения. Это сделало трюк.
Я создал UIView, используя следующий код в viewDidLoad (где "secondview", очевидно, является именем UIView):
secondview = [[UIView alloc] initWithFrame:self.view.frame];
[secondview setBackgroundColor: [UIColor yellowColor]];
secondview.translatesAutoresizingMaskIntoConstraints = NO;
[self.view addSubview:secondview];
Затем в viewDidAppear я добавил ограничения для этого представления:
NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:secondview attribute:NSLayoutAttributeRight
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeRight
multiplier:1.0f constant:-20.0f];
[self.view addConstraint:constraint];
Однако ограничения не применяются к представлению (по крайней мере, не того, что я вижу). Вместо этого вид просто исчезает с экрана. Однако, если код ограничения комментируется, представление снова загружается с соответствующим фреймом (очевидно, без применения ограничений). При применении тех же ограничений к Button или ImageView ограничения применяются отлично. Это заставило меня думать, что проблема возникает из-за "initWithFrame" при создании представления, поскольку ни кнопка, ни ImageView на самом деле не требуют, чтобы размер был указан.
Каковы ваши мысли? Что мне делать по-другому?
Для всех, кто сталкивается с этим... Мне нужно было добавить более одного ограничения. Это сделало трюк.