2015-09-03 4 views
1

В классе контроллера вида я пытаюсь программировать кнопки в сетке 10x10. У меня есть ограничения, и представление изменяет размер правильно, но размер, который я возвращаю и видя в заявлении на печать, - это исходный размер от доски объявлений, а не размер размера. Как получить новый размер?Получение размера представления Не меняя размер Размер

func buttonGridder() { 
    for x in 0..<10 { 
     for y in 0..<10{ 
      let sizer = ButtonGrid.frame.width 
      let buttonSize:CGFloat = ButtonGrid.frame.width/CGFloat(10) 
      print("\(x), \(y), \(buttonSize), \(sizer)") 
      let letterButton = WordButton(column: x, row: y, buttonSize: buttonSize, buttonMargin: 0) 
      self.ButtonGrid.addSubview(letterButton) 
     } 
    } 
} 

ответ

1

Вызовите функцию Log в этом методе viewDidLayoutSubviews. Это метод, который вызывается после того, как представления расположены соответственно ограничениям после viewDidAppear. Примечание. Этот метод вызывается несколько раз за один проход, поэтому НЕ ДОЛЖЕН выделять или добавлять в этот метод.

И если вы добавляете или изменяете размер изображения позже, тогда звоните setNeedsDisplay, чтобы перерисовать все представления внутри контроллера View

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