【发布时间】:2016-03-29 10:05:22
【问题描述】:
我正在尝试在 Swift 2.0 中更新视图的 y 位置。但它没有发生。我没有使用自动布局。这是我的代码:
func textViewDidBeginEditing(textView: UITextView) {
var frame : CGRect = self.frameView.frame
frame.origin.y = -390
//self.frameView.frame = frame
self.frameView.frame = CGRectMake(frame.origin.x, frame.origin.y, frame.size.width, frame.size.height)
print(" frame \(self.frameView.frame)")
}
虽然当我打印框架时,它会显示更新后的值,但更改不会反映。任何线索我错过了什么?
【问题讨论】:
-
代码在您的“viewDidLoad”方法或“viewWillAppear”中?在 viewWillAppear 中添加代码,而不是在 viewDidLoad 中。
-
是否在storyboard/xib上添加了view?
-
self.frameView 是你的文本视图
-
当您说“我没有使用 AutoLayout”时,您到底是什么意思?您是否在 Interface Builder 中创建了视图?你试过做...
print(self.constraints)。忽略 Auto Layout 的事实并不是“不使用 Auto Layout”。 -
顺便说一句...您可能正在使用 AutoLayout,并且在使用 AutoLayout 时无法直接更改视图的框架。