[英]Changing size of UIButton while using Autolayout?
我是ios的新手。 我正在一个项目中,该项目将在整个应用程序中频繁使用某个UIView类。 这个类只是一个图像,它使用背景色来做一些透明的事情。 到目前为止,这个工作正常。 此类有时作为一个单独的UIView存在,有时作为一个按钮子视图存在。
当我将此UIView作为子视图添加到UIButton时,UIView的全部内容以完整大小显示,但是按钮的可单击区域保持在xib中定义的大小,除非关闭了“使用自动布局”(即使我手动尝试设置按钮的框架。)
我想将UIButton放置在xib上作为占位符,然后稍后根据初始化时使用的UIView的覆盖图像的大小来定义其大小/可单击区域。
这是否可能,或者我是否误解了xib文件/自动布局的用法?
在ViewDidLoad下,我有...
- (void)viewDidLoad{
[theButton addSubview:_theView];
CGRect buttonFrame = theButton.frame;
buttonFrame.size = CGSizeMake(_theView.getSize.width,_theView.getSize.height);
[theButton setFrame:buttonFrame];
}
但是,当我尝试调用setFrame之前和之后打印按钮信息时,框架保持相同的大小。
(请注意,“ _ theView.getSize”是我添加的)
viewDidLoad
处没有框架。 在viewWillAppear:
或viewDidLayoutSubviews
尝试您的代码。 |-[theView]-|
但这取决于您的xib有哪些约束条件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.