gpt4 book ai didi

ios - 使用自动布局时更改 UIButton 的大小?

转载 作者:行者123 更新时间:2023-11-28 18:23:18 25 4
gpt4 key购买 nike

我是 ios 的新手。我正在开发一个项目,该项目将在整个应用程序中频繁使用某个 UIView 类。这个类只是一个图像,它用背景颜色做一些透明的事情。到目前为止效果很好。此类有时作为单独的 UIView 存在,有时作为按钮 subview 存在。

当我将此 UIView 作为 subview 添加到 UIButton 时,UIView 的全部内容以全尺寸显示,但按钮的可点击区域保持 xib 中定义的尺寸,除非使用自动布局被关闭(即使我手动尝试设置按钮的框架。)

我想在 xib 上放置一个 UIButton 作为占位符,然后根据初始化 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'是我加的)

最佳答案

  1. 在自动布局下, View 在 viewDidLoad 中没有框架。在 viewWillAppear:viewDidLayoutSubviews 中尝试您的代码。
  2. 在自动版式下,您无需设置框架。您改为编辑约束。设置框架将一直有效,直到下一次布局通过,届时您的布局将恢复为您的约束所描述的布局。
  3. 要调整按钮的大小以适合 subview ,您可以尝试这样的操作(以视觉格式语言):|-[theView]-| 但这取决于您的约束条件xib。

关于ios - 使用自动布局时更改 UIButton 的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16405667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com