2015-01-19 2 views
0

Я пытаюсь создать группу UIButton, горизонтально.Почему кнопка рушится, когда я пытаюсь создать группу кнопок?

Итак, я создал две кнопки и создал новый вид, чтобы скрыть их. Затем я добавляю ограничения для равномерного размещения по горизонтали.

Но два UIButtons просто рухнули. Исходное расположение кнопок одинаково, но я не думаю, что это имеет значение.

- (UIButton*) getButtonWithTitle: (NSString*) title 
{ 
    UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem]; 
    button.frame = CGRectMake(0, 80, 130.0, 40.0); 

    button.layer.borderColor = [UIColor blackColor].CGColor; 
    button.layer.borderWidth = 0.5f; 
    button.layer.cornerRadius = 2.0f; 

    [button setTitle:title forState:UIControlStateNormal]; 
    [button setTitleColor:[UIColor blackColor] forState: UIControlStateNormal]; 
    return button; 
} 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    UIButton *loginBtn = [self getButtonWithTitle:@"Login"]; 
    UIButton *registerBtn = [self getButtonWithTitle:@"Register"]; 

    UIView *buttonGroup = [[UIView alloc] init]; 
    [buttonGroup setTranslatesAutoresizingMaskIntoConstraints:NO]; 
    [buttonGroup addSubview: loginBtn]; 
    [buttonGroup addSubview: registerBtn]; 
    [self.view addSubview: buttonGroup]; 

    NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings(loginBtn, registerBtn, buttonGroup); 
    [buttonGroup addConstraints: 
    [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[loginBtn]-20-[registerBtn]-|" 
              options:0 metrics:nil 
               views:viewsDictionary 
     ]]; 
} 

EDIT

Я последовал deimus и удалил ButtonGroup, но никаких изменений:

enter image description here

ответ

1

Удалите с buttonGroup от этой линии и повторите попытку.

NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings(loginBtn, registerBtn, buttonGroup); 

удалить Также

button.frame = CGRectMake(0, 80, 130.0, 40.0); 

Когда ваш выбор использовать AutoLayouting не имеет смысла больше, чтобы обеспечить руководство координаты

+0

Хм, я не вижу каких-либо изменений, я также загрузил фотографию .. – daisy

+0

Вы пытались установить 'setTranslatesAutoresizingMaskIntoConstraints' на кнопках? – deimus

+0

Также, пожалуйста, удалите 'button.frame = CGRectMake (0, 80, 130.0, 40.0);' также, поскольку вы используете автоматическое отключение, нет смысла указывать координаты вручную. – deimus

Смежные вопросы