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];
translatesAutoresizingMaskIntoConstraints установлено значение Нет, но не вертикальные ограничения не given.I предполагаю, что рассматривает только горизонтальное ограничение с все кнопки выровнены по центру на y.Начну это начинается с верхнего края экрана. Вы пробовали с ограничением Top layout. – Vani
Да, но не работал, я дал вертикальные ограничения в одной строке, однако это сбой. – Kashif
Чтобы получить больше разъяснений, задали ли вы ограничение верхнего макета для всех кнопок и добавили только горизонтальное ограничение? – Vani