如何在按钮单击过程中调整 UIView 框架的大小?

How to resize UIView frame during button click?

提问人:jerfin 提问时间:4/6/2016 最后编辑:jerfin 更新时间:4/6/2016 访问量:1270

问:

我正在使用两个按钮按钮 button1 和 button2 和一个 view1,当我单击按钮 2 时,view1 框架应升高到一定高度,当按下按钮 2 时,view1 应释放到正常位置(原始位置),任何人都可以帮助代码。

- (IBAction)button2:(id)sender {

   [liftView setFrame:CGRectMake(2.0, 3.0, 200.0, 10.0)];
}
- (IBAction)button1:(id)sender {

   //here i need the view back to the original position
}
iOS的iPhone iOS7 iOS5

评论

0赞 Raptor 4/6/2016
你能展示你的代码吗?通过编辑将它们放入您的问题中。
0赞 jerfin 4/6/2016
还行。我现在要补充
0赞 jerfin 4/6/2016
@raptor我添加了代码。
0赞 Raptor 4/6/2016
我注意到你标记了旧版本的iOS。您是否正在使用自动布局?如果是,则不起作用。您应该改为调整自动布局约束setFrame:
0赞 jerfin 4/6/2016
不,我没有使用自动布局。.

答:

1赞 Raptor 4/6/2016 #1

由于不使用自动布局,因此可用于调整布局,如下所示:setFrame:

CGRect originalFrame;

- (IBAction)button2:(id)sender {
   originalFrame = liftView.frame;
   [liftView setFrame:CGRectMake(2.0, 3.0, 200.0, 10.0)];
}
- (IBAction)button1:(id)sender {
   // set the view back to the original position
   [liftView setFrame:originalFrame];
}

在这里,我使用一个变量来存储原始帧大小。originalFrame

或者,您可以将 与 包装在一起,以便可以对布局更改进行动画处理。setFrame:UIAnimation