我正在尝试在设备处于横向时更改文本框架原点。
在我的登录视图中,传递文本字段位于用户文本字段(Portrait)下方, 更改方向(横向)时,用户文本字段位于传递文本字段的左侧。
override func willAnimateRotationToInterfaceOrientation(toInterfaceOrientation: UIInterfaceOrientation, duration: NSTimeInterval) {
if(toInterfaceOrientation.isLandscape){
labelPass.frame.origin.x = buttonEnter.frame.midX+5
textfieldPass.frame.origin.x = buttonEnter.frame.midX+5
labelUser.frame.origin.x = buttonEnter.frame.midX-textfieldUser.frame.width-5
textfieldUser.frame.origin.x = buttonEnter.frame.midX-textfieldUser.frame.width-5
labelUser.frame.origin.y = labelPass.frame.origin.y
textfieldUser.frame.origin.y = textfieldPass.frame.origin.y
}
}
在iPhone 4中一切正常,但在iPhone 5版本8.4(横向)中,当显示键盘时,文本字段会丢失其位置并返回(通过用户文本字段下方的文本字段)。在故事板wAny hAny传递文本字段中,它位于用户文本字段下方。
我测试了这个
func keyboardWillShow(sender: NSNotification) {
if(UIDevice.currentDevice().orientation.isLandscape){
labelPass.frame.origin.x = buttonEnter.frame.midX+5
textfieldPass.frame.origin.x = buttonEnter.frame.midX+5
labelUser.frame.origin.x = buttonEnter.frame.midX-textfieldUser.frame.width-5
textfieldUser.frame.origin.x = buttonEnter.frame.midX-textfieldUser.frame.width-5
labelUser.frame.origin.y = labelPass.frame.origin.y
textfieldUser.frame.origin.y = textfieldPass.frame.origin.y
}
}
结果相同。
有什么想法吗?非常感谢所有人