繁体   English   中英

在启用自动布局的情况下以swift / xcode调整大小按钮

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM