Наразі ні, не виглядає так, що в центрі подання можна переглянути центри, використовуючи лише VFL. Однак це не так складно зробити за допомогою одного рядка VFL та одного додаткового обмеження (на вісь):
VFL: "|-(>=20)-[view]-(>=20)-|"
[NSLayoutConstraint constraintWithItem:view
attribute:NSLayoutAttributeCenterX
relatedBy:NSLayoutRelationEqual
toItem:view.superview
attribute:NSLayoutAttributeCenterX
multiplier:1.f constant:0.f];
Можна було б подумати, що ви просто зможете це зробити (це те, що я спочатку думав і намагався, коли побачив це питання):
[NSLayoutConstraint constraintsWithVisualFormat:@"|-(>=20)-[view(==200)]-(>=20)-|"
options: NSLayoutFormatAlignAllCenterX | NSLayoutFormatAlignAllCenterY
metrics:nil
views:@{@"view" : view}];
Я спробував багато різних варіантів вище, намагаючись зігнути його за своїм бажанням, але, схоже, це не стосується нагляду, навіть коли явно є дві окремі рядки VFL для обох осей ( H:|V:
). Потім я почав намагатися ізолювати саме тоді, коли параметри будуть застосовані до VFL. Здається, вони не застосовуються до нагляду у VFL і застосовуватимуться лише до явних поглядів, які згадуються у рядку VFL (що в деяких випадках невтішно).
Я сподіваюся, що в майбутньому Apple додасть якусь нову опцію, щоб параметри VFL враховували нагляд, навіть якщо це робиться лише тоді, коли окрім нагляду в VFL є лише один явний вигляд. Іншим рішенням може бути інший варіант прийнятий в VFL , що говорить що - щось на кшталт: NSLayoutFormatOptionIncludeSuperview
.
Потрібно сказати, що я багато дізнався про VFL, намагаючись відповісти на це питання.