Мне интересно, можно ли получить указатель на ограничение, созданное с использованием языка визуального формата.Указатель на язык визуального форматирования (VFL) Ограничение?
Для простого примера предположим, что я создал массив ограничений для представления, чтобы он был прикреплен к верхнему, левому и нижнему его супер-представлению, но имеет ширину 100, и я хотел получить указатель на это ограничение ширины, чтобы впоследствии изменить его.
дефектоскоп для этого было бы что-то вдоль линий:
UIView *insertedView = [[UIView alloc] init];
insertedView.translatesAutoresizingMaskIntoConstraints = NO;
[self.view addSubview: insertedView];
NSDictionary *views = NSDictionaryOfVariableBindings(insertedView);
NSDictionary *metrics = @{ @"viewWidth" : @(100.0) };
NSArray *constraintsH = [NSLayoutConstraint constraintsWithVisualFormat:@"|[insertedView(viewWidth)" options:0 metrics:metrics views:views];
NSArray *constraintsV = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[insertedView]|" options:0 metrics:nil views:views];
[self.view addConstraints: constraintsH];
[self.view addConstraints: constraintsV];
Можно ли получить экземпляр NSLayoutConstraint, указывающий на ограничение ширины 100.0 в приведенном выше примере?
Я знаю, что я мог бы обойти это другим путем, создав ограничение ширины отдельно через constraintWithItem: attribute: relatedBy: toItem: attribute: multiplier: constant, но мне любопытно, есть ли способ для этого с помощью чистый VFL.
Удивительный, за все время разработки приложений для iOS я никогда не сталкивался с этим методом в NSArrays, классный материал. Благодарю. –
Интересно, есть ли способ установить свойство идентификатора ограничения с помощью VFL. Вероятно, это был бы самый быстрый способ захватить рассматриваемое ограничение, используя ваш метод. –
Согласовано. Сначала мне хотелось найти способ сделать это, поскольку я думаю, что это самое простое, но я не могу видеть из документации, как это можно сделать. – akivajgordon