ios - 无法在启用自动布局的情况下设置 UIButton 框架的大小

标签 ios objective-c uibutton autolayout frame

我真的很努力地自己解决了这个看似简单的问题,但我还是无法解决它!

所以这是交易:

我正在使用启用了自动布局的 Storyboard。 但是由于我的一个 View 中有很多对象,我决定实现

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
                                         duration:(NSTimeInterval)duration

此 View Controller 的方法并为 View 显式设置框架,如下所示:

self.startStopBtn.frame = CGRectMake(10, 223.5, 300, 30);

只要我保持此 UIButton 对象的大小相同(如在 Storyboard 中一样)并且仅更改其原点,它就可以正常工作。一旦我改变尺寸,按钮就消失了!

终于可以用完全相同的方式在相同的方法中毫无问题地更改标签、 View 和 ImageView 的框架了。

非常感谢您的帮助! 希望有人能指导我正确的方向。

最佳答案

如果您正在使用自动布局,则不应操纵 UIView 框架。您应该修改 NSLayoutConstaints 以从代码中更改 View 中的内容。

关于ios - 无法在启用自动布局的情况下设置 UIButton 框架的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23058441/

相关文章:

iOS : ZBarCode reader not working on custom UISegmentedControl click

ios - Swift - 带循环的多个链 http 请求

ios - 映射关注者/关注与 Restkit 的关系

ios - 如何删除我用循环创建的多个按钮?

iphone - 如何在泄漏的“扩展详细信息”面板中显示详细信息?

objective-c - keyboardDidShow 和 keyboardWillShow 的区别

iphone - Objective C 类实例声明错误?

objective-c - 如何在Cocoa中关闭蓝牙设备和声音设备?

ios - 为什么 UIButton 在以编程方式调用其处理程序时不更改其图像?

ios - 在 UICollectionView 上放置一个按钮并保持滚动