У меня есть создать два UIViews и хотите программно реализовать визуальный язык Формат Autolayout, я хочу пользователя NSLayoutFormatAlignAllTop для обоих взглядов, Ниже мой код-Верхнее поле для использования Autolayout IOS
-(void)doCodeForWidthAndHeight
{
UIView *myView = [[UIView alloc] init];
myView.backgroundColor = [UIColor redColor];
myView.translatesAutoresizingMaskIntoConstraints = NO; //This part hung me up
[self.view addSubview:myView];
UIView *mySecondView = [[UIView alloc] init];
mySecondView.backgroundColor = [UIColor greenColor];
mySecondView.translatesAutoresizingMaskIntoConstraints = NO; //This part hung me up
[self.view addSubview:mySecondView];
NSDictionary *viewsDictionary = @{@"myView":myView,@"mySecond":mySecondView};
// 1. Create a dictionary of views
NSArray *constraint_POS_V = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-200-[myView(100)]-[mySecond(100)]" options:0 metrics:nil views:viewsDictionary];
NSArray *constraint_POS_H = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-20-[myView(40)]-40-[mySecond]-30-|" options:0 metrics:nil views:viewsDictionary];
NSArray *topMargin = [NSLayoutConstraint constraintsWithVisualFormat:@"[myView]-[mySecond]" options:NSLayoutFormatAlignAllTop metrics:nil views:viewsDictionary];
[self.view addConstraints:constraint_POS_H];
[self.view addConstraints:constraint_POS_V];
[self.view addConstraints:topMargin];
}
Pelase предлагает, как я могу использовать опцию NSLayoutFormatAlignAllTop в моем текущем коде. Ошибка в журнале: Невозможно одновременно удовлетворить ограничениям. Возможно, по крайней мере одно из ограничений в следующем списке - это тот, который вы не хотите. Попробуйте следующее: (1) посмотрите на каждое ограничение и попытайтесь выяснить, чего вы не ожидаете; (2) найти код, который добавил нежелательные ограничения или ограничения и исправить его. ( «», «» )
будет пытаться восстановить разбив ограничение
сделать символическую точку останова в UIViewAlertForUnsatisfiableConstraints, чтобы поймать это в отладчике. Методы в категории UIConstraintBasedLayoutDebugging в списке UIView, также могут быть полезны. 2016-08-05 20: 12: 41.763 FamilyApp [12908: 242194] Невозможно одновременно удовлетворить ограничения. Возможно, по крайней мере одно из ограничений в следующем списке - это тот, который вы не хотите. Попробуйте следующее: (1) посмотрите на каждое ограничение и попытайтесь выяснить, чего вы не ожидаете; (2) найти код, который добавил нежелательные ограничения или ограничения и исправить его. ( "", "", "" )
будет пытаться восстановить разбив Constraint
сделать символическую точку останова в UIViewAlertForUnsatisfiableConstraints, чтобы поймать это в отладчике. Методы в категории UIConstraintBasedLayoutDebugging в списке UIView, также могут быть полезны.
Что вы пытаетесь достичь? Ваше первое ограничение говорит, что вы хотите, чтобы первое представление было выше второго, что не имеет смысла, если вы хотите, чтобы их вершины были выровнены. – dan
Да, я знаю, где-то я ошибаюсь, пожалуйста, предложите мне, что является решением этого –