2015-08-10 5 views
0

Мне нужно добавить вертикальное выравнивание для четырех кнопок, чтобы оно сдвигало несколько точек ниже. Ниже мой код, прямо сейчас показывает четыре UIButtons в верхней части горизонтали.iOS: Вертикальное выравнивание UIButton в iOS

UIButton *button1 = [UIButton buttonWithType:UIButtonTypeSystem]; 
[button1 setTitle:@"CLOTHING" forState:UIControlStateNormal]; 
button1.backgroundColor = [UIColor orangeColor]; 
button1.translatesAutoresizingMaskIntoConstraints = NO; 

UIButton *button2 = [UIButton buttonWithType:UIButtonTypeSystem]; 
[button2 setTitle:@"ACCESSORIES" forState:UIControlStateNormal]; 
button2.backgroundColor = [UIColor orangeColor]; 
button2.translatesAutoresizingMaskIntoConstraints = NO; 

UIButton *button3 = [UIButton buttonWithType:UIButtonTypeSystem]; 
[button3 setTitle:@"FOOTWEAR" forState:UIControlStateNormal]; 
button3.backgroundColor = [UIColor orangeColor]; 
button3.translatesAutoresizingMaskIntoConstraints = NO; 

UIButton *button4 = [UIButton buttonWithType:UIButtonTypeSystem]; 
[button4 setTitle:@"GARMENT" forState:UIControlStateNormal]; 
button4.backgroundColor = [UIColor orangeColor]; 
button4.translatesAutoresizingMaskIntoConstraints = NO; 

[self.view addSubview:button1]; 
[self.view addSubview:button2]; 
[self.view addSubview:button3]; 
[self.view addSubview:button4]; 

NSDictionary *views = NSDictionaryOfVariableBindings(button1, button2,button3,button4); 
NSArray *horizontalConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-5-[button1]-5-[button2]-5-[button3]-5-[button4]-5-|" 
                     options:NSLayoutFormatAlignAllCenterY 
                     metrics:nil 
                      views:views]; 

// Find the equal width constraint and set priority to high (750) 
for (NSLayoutConstraint *constraint in horizontalConstraints) { 
    if (constraint.firstAttribute == NSLayoutAttributeWidth) { 
     constraint.priority = UILayoutPriorityDefaultHigh; 
    } 
} 

[self.view addConstraints:horizontalConstraints]; 

enter image description here

+0

translatesAutoresizingMaskIntoConstraints установлено значение Нет, но не вертикальные ограничения не given.I предполагаю, что рассматривает только горизонтальное ограничение с все кнопки выровнены по центру на y.Начну это начинается с верхнего края экрана. Вы пробовали с ограничением Top layout. – Vani

+0

Да, но не работал, я дал вертикальные ограничения в одной строке, однако это сбой. – Kashif

+0

Чтобы получить больше разъяснений, задали ли вы ограничение верхнего макета для всех кнопок и добавили только горизонтальное ограничение? – Vani

ответ

0

Вы даете горизонтальное ограничение Изменить ограничение с этим

NSArray *horizontalConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-15-[button1]-5-[button2]-5-[button3]-5-[button4]" 
                     options:0 
                     metrics:nil 
                      views:views]; 
Смежные вопросы