2016-09-18 1 views
0

Xcode 8SnapKit 3.0으로 자동 레이아웃을 테스트했습니다. SnapKit 3.0으로 업데이트하기 전에 layoutIfNeeded으로 전화를 걸어 정확한 프레임을 얻을 수 있습니다. 하지만 frame.origin.x.y은 모두 음수이고 현재는 입니다. SnapKit 3.0입니다.호출 레이아웃 후에 Snapkit 3.0이 올바른 프레임을 가져올 수 없습니다 .IfNeeded

예를 :

 let signUpView = UIView() 
     view.addSubview(signUpView) 
     signUpView.snp.makeConstraints { (make) -> Void in 
      make.leading.equalTo(50) 
      make.trailing.equalTo(-50) 
      make.top.equalTo(topView.snp.bottom) 
      make.height.equalTo(50) 
     } 
     // here frame is: {0,0,0,0} 
     signUpView.layoutIfNeeded() 

     // here frame is: 
      (-137.5, -25.0, 275.0, 50.0) 
      ▿ origin : (-137.5, -25.0) 
       - x : -137.5 
       - y : -25.0 
      ▿ size : (275.0, 50.0) 
       - width : 275.0 
       - height : 50.0 

답변

0

당신은 레이아웃 패스를 할 필요가있는 컨테이너와 같이 view보다는 signUpViewlayoutIfNeeded를 호출해야합니다.

관련 문제