[英]Resize button in swift/xcode with Autolayout enabled
我已经阅读了有关该主题的其他几篇SO帖子,据我了解,启用AutoLayout时要调整对象的大小,您只需在代码中更改其约束的常量属性即可。
我有两个并排的按钮,像这样
[删除] [发布]
并且它们占据了屏幕的整个宽度。 我想为某些视图隐藏“删除”按钮,并且在发生这种情况时,拉伸“发布”按钮以占据屏幕的整个宽度。 在我的代码中,我有:
self.postButtonLeadingConstraint.constant = self.deleteButtonLeadingConstraint.constant
self.deleteButton.hidden
我的“删除”按钮隐藏得很好,但我的“发布”按钮却保持原样。 我做错了什么? 任何输入,不胜感激。
编辑:如果很重要,我的按钮如下所示:
删除按钮的前导限制在视图的前缘
发布按钮的前导约束到删除按钮的后沿
删除和发布按钮设置为彼此相等的宽度
这两个按钮都有其顶部,并且按钮只限于它们所在的视图,但是我看不出它们之间的关系。
尝试这个:
self.postButtonLeadingConstraint.constant -= self.deleteButton.frame.size.width
self.deleteButton.hidden = true
如果您的目标是iOS 9或更高版本,则建议使用UIStackView
。 这样非常简单,只需在堆栈视图中添加和/或删除按钮即可。 这是帮助您理解的小样本 。
问题是,尽管您隐藏了按钮,但是按钮的宽度保持不变。 如果您使用
self.deleteButtonWidthConstraint.constant = 0
其中deleteButtonWidthConstraint
是连接到删除按钮的宽度约束的@IBOutlet。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.