0

Я хочу сделать кнопку закрытия, как это,IOS Autolayout Программный способа ограничения с помощью VFL

enter image description here

  • Я попробовал кнопку придавить, но кнопка была усаживается или исчез Здесь был код,

термоусаживаемые

[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[btnClose(==10)]-|" 
                     options:NSLayoutFormatAlignAllCenterY 
                     metrics:nil 
                      views:NSDictionaryOfVariableBindings(btnClose)]]; 

Исчезли с ошибкой

[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[btnClose(==-10)]-|" 
                     options:NSLayoutFormatAlignAllCenterY 
                     metrics:nil 
                      views:NSDictionaryOfVariableBindings(btnClose)]]; 
  • Синий вид также устанавливается с помощью autolayout и он работает отлично на всех экранах.

Какие ограничения следует применять для обеспечения поддержки кнопок на всех устройствах, как показано на изображении.?

ответ

0

Вы должны предоставить горизонтальные и вертикальные ограничения (если 10 и 0 пробелы в верхней и правой):

[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[btnClose]-0-|" 
                     options:0 
                     metrics:nil 
                      views:NSDictionaryOfVariableBindings(btnClose)]]; 

[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-10-[btnClose]" 
                     options:0 
                     metrics:nil 
                      views:NSDictionaryOfVariableBindings(btnClose)]]; 

Вам не нужно указывать размеры кнопки - они будут выведены из содержания, в вашем случае размер изображения