【发布时间】:2015-01-05 01:02:28
【问题描述】:
我有一个UITextField,当我按下按钮时,它会在视图控制器上进行动画处理(从右侧移入视图)。但是,当我按下UITextField 或任何其他视图时,UITextField 就会消失。如何阻止 UITextField 消失。我正在使用以下代码:
@IBAction func joinCircleButton(sender: AnyObject) {
let button = sender as UIButton
joinTextField.frame.origin.x=500
joinTextField.frame.origin.y=100
if (button.frame.origin.x - 75>0){
UIView.animateWithDuration(0.5, animations:{
button.frame = CGRectMake(button.frame.origin.x - 125, button.frame.origin.y,button.frame.size.width, button.frame.size.height)
button.transform = CGAffineTransformMakeScale(0.5, 0.5);
self.joinTextField.frame=CGRectMake(self.joinTextField.frame.origin.x - 325, self.joinTextField.frame.origin.y,self.joinTextField.frame.size.width, self.joinTextField.frame.size.height)
})
}
}
override func viewDidLayoutSubviews(){
joinTextField.center = CGPointMake(joinTextField.frame.origin.x-500, joinTextField.frame.origin.y)
}
【问题讨论】:
-
你在使用自动布局吗?如果是这样,您不应该设置任何框架来移动按钮。当视图需要重绘自身时(例如当您开始编辑文本字段时),按钮将移回其约束定义的位置。
-
@rdelmar 我删除了按钮和文本字段上的自动布局,但仍将其用于视图中的其他内容?有问题吗?
-
如果所有视图都在同一个情节提要中制作,则不能这样做——对于整个情节提要(或整个 xib 文件),它要么打开要么关闭。如果您不自己添加约束,系统会为您添加。
-
@rdelmar 我已经从情节提要中的 ViewController 中删除了所有约束,但情节提要中的其他
viewControllers正在使用自动布局 -
正如我所说,你不能那样做。系统将为您添加约束。单击您的一个视图,然后查看尺寸检查器——它将显示一条消息,说明系统将添加哪些约束。
标签: ios animation swift uibutton animatewithduration