Предположим, у меня есть переменная экземпляра из суперкласса с именем label, и я хочу установить ограничения автоматического макета, используя визуальный формат. Если я пытаюсь использовать self.label в строке формата, я получаю ошибки синтаксического анализа, и у меня нет доступа к _label из подкласса. Обходной путь, который в настоящее время работает, ниже, но он кажется уродливым. Есть ли способ лучше?Есть ли наилучшая практика для использования переменных экземпляра с визуальным форматом NSLayoutConstraint?
UILabel *label = self.label;
NSDictionary *views = NSDictionaryOfVariableBindings(label, _textField);
[self.contentView addConstraints:
[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[label(==_textField)][_textField(==label)]-|"
options:NSLayoutFormatAlignAllCenterY
metrics:nil
views:views]];
Хорошая точка, TY. –
Это способ борьбы с VFL, когда все, что у вас есть, является собственностью. Я написал об этом в деталях [здесь] (http://commandshift.co.uk/blog/2013/01/31/visual-format-language-for-autolayout/), если это поможет. – jrturton