swift 3 에서 AutoLayout 적용 후 하위 뷰의 width 값이 1000으로 이상하게 나올 경우
swift 3 에서 AutoLayout을 적용하였다. 하위 뷰에 코드로 생성하여 프레임 단위로 버튼을 여러개 넣는데 잘 안나온다. 로그를 찍어보니 Button.width = 1000 으로 나온다. view.width = 375 인데...., 뭐가 잘못되었나? 동적으로 생성되는 많은 버튼도 전부 AutoLayout 방식으로 하자니 그동안 계산으로 만들어 놓은 코드가 아깝다. 단 한줄의 코드로 문제를 해결하였다. 전체적인 아웃라인은 뷰를 이용하여 디자인 타임에 스토리보드에서 작성을 하고 동적 생성은 뷰에 프레임 계산해서 넣으면 된다. 뷰가 로드 된 다음에 다음 줄을 넣어야만 정상적인 값이 나와서 계산이 가능하다. self.view.layoutIfNeeded() 나는 이런 방법으로 문제를 해결하였다. 계산 값 바로 이전에 넣어도 되는데 귀찮아서 viewDidLoad() 에 넣었다.