当我尝试打印 btnTwo.center 时,它给我(132.0,20.0),它根据设备没有变化。我尝试使用iPhone SE,iPhone 8,iPhone 8Plus等。 我甚至尝试了下面的方法仍然是相同的,它似乎没有采取设备维度,它采取默认的xibs维度。
viewDidAppear
viewWillLayoutSubviews
viewWillAppear
编辑 - AutoLayout工作正常,按钮正在屏幕上正确排列,只是中心保持在同一位置,它没有相应改变。
例如代码 -
override func viewDidAppear(_ animated: Bool) {
signUpProgressView = SignUpProgressView.initSignUpProgressView(X: 10.0, Y: 50.0)
self.view.addSubview(signUpProgressView!)
signUpProgressView?.drawline()
}
public class func initSignUpProgressView(X vX:CGFloat, Y vY:CGFloat) -> SignUpProgressView{
let bundle:Bundle = Bundle(for: self.classForCoder())
let signUpProgressView:SignUpProgressView = bundle.loadNibNamed("SignUpProgressView", owner: self, options: nil)?.last as! SignUpProgressView
signUpProgressView.viewInitYCord = vY
signUpProgressView.viewInitXCord = vX
signUpProgressView.frame = CGRect(x: vX, y: vY, width: UIScreen.main.bounds.size.width - 20, height: 200)
return signUpProgressView
}
func drawline(){
let animatedLinelayer = AnimatedLineLayer(startPoint: btnOne.center, endPoint: btnTwo.center)
print(btnTwo.center)
layer.insertSublayer(animatedLinelayer, at: 0)
animatedLinelayer.animateStrokeWithColor(color: UIColor.brown)
}
答案 0 :(得分:0)
我不确定你在计算什么,但你可以使用下面的代码计算数值..
您可以在不同的设备上比较这些内容,并了解该怎么做。您可以计算按钮的X,Y值
print("button frame", btnTwo.frame)
print("button bounds", btnTwo.bounds)
print("button center", btnTwo.center)