【发布时间】:2023-04-05 06:26:01
【问题描述】:
我有一个在笔尖中定义的 UIView,我需要能够在该视图中显示/隐藏一个中间按钮。当我显示按钮时,我需要重新定位它下方的两个底部按钮,并让视图更高以便为所有内容腾出空间。当我隐藏中间按钮时,我需要向上移动两个底部按钮并垂直调整视图大小以使其不那么高。我不需要对其中的任何内容进行动画处理,因为当视图对用户可见时,这些更改将永远不会发生。
我是 iOS 新手,习惯使用 Autolayout,但在这种情况下我不能使用 Autolayout 来自动处理这个问题,所以我目前的方法是硬编码两个底部按钮的框架位置和尺寸对于两种不同情况中的每一种。我还在为视图本身硬编码两种不同的帧大小。在 viewDidLoad 中,我确定是否需要显示/隐藏中间按钮并适当地设置视图和底部按钮的框架。这可行,但如果感觉很hacky。我应该这样做有更好的方法吗?
提前感谢您的智慧!
【问题讨论】:
-
如果没有自动布局,您只能更改帧。
-
你的方法很常见。手动设置视图的原点和大小没有什么不好的。事实上,我们这些不使用界面生成器的人(我没有)手动设置它们。
标签: ios iphone objective-c