2016-01-29 2 views
0

Я пытаюсь добавить кнопки программно к виду, но они, кажется, неожиданно расположены. Может кто-нибудь сказать, что это неправильно:Добавление кнопок программно не правильно установлено

for var i = 0; i < 10; i++ { 
     let button = UIButton(type: UIButtonType.Custom) as UIButton 
     let x1 = i * 20 
     let x2 = i * 20 + 15 
     button.frame = CGRectMake(CGFloat(x1), 20, CGFloat(x2), 40) 
     button.backgroundColor = UIColor.blueColor() 
     button.titleLabel?.textAlignment = .Center 

     button.setTitle(String(i + 1), forState: .Normal) 

     self.view.addSubview(button) 
    } 

И результат: enter image description here

+0

'x2' - ширина кнопки, но вы, кажется, вычисляете maxX. –

+0

Каждая кнопка шире, чем предшественница. Кнопки кажутся переключателями один на другой, поэтому вы не можете видеть текстовую метку большинства кнопок. Кнопка 9 (10) имеет ширину 195 точек. – iCode

+0

Да, извините за это. Я, хотя x2 - это позиция, а не ширина кнопки. Любая причина, по которой текст кнопки в белом BTW? – bashan

ответ

1

Третий аргумент в CGRectMake широтно, а не х2. Таким образом, вы должны пройти 15 (или то, что ваша желаемая ширина кнопки). Также рассмотрите возможность использования быстрой версии инициализатора CGRect - CGRect (x: y: width: height:) - поскольку он использует именованные параметры

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