以编程方式调整控件框架
Posted
技术标签:
【中文标题】以编程方式调整控件框架【英文标题】:Adjusting frame of controls programmatically 【发布时间】:2014-04-14 12:54:34 【问题描述】:我正在通过 xib 文件使用 UIButton 控件。现在我想以编程方式设置按钮的框架。我在下面尝试过
btn.frame=CGRectMake(0,0,200,70);
它不会改变位置,并且保持在我在 XIB 文件中放置的相同 X 和 Y 坐标上。
【问题讨论】:
你在使用自动布局吗? 在调试器中,你能看到 btn 被正确初始化了吗?如果您输入po btn
,您应该会看到有关该按钮的详细信息,包括其当前帧。
@Fogmeister - 我没有使用自动布局
@Clafou - 是的,按钮已正确初始化
这个按钮可能是另一个子视图的子视图。请确保此按钮是超级视图的子视图(VC的默认视图)
【参考方案1】:
像这样使用前两个参数代表按钮的 x,y 坐标,其他两个代表按钮的高度和宽度
btn.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
【讨论】:
【参考方案2】:移除使用自动布局属性
【讨论】:
我试过这个。但它会影响以编程方式添加的其他控件的框架【参考方案3】:转到您的 xib 文件,选择 UIButton 并在右侧面板上选择第一个选项 File Inspector
。取消选中Use Autolayout
复选框
【讨论】:
以上是关于以编程方式调整控件框架的主要内容,如果未能解决你的问题,请参考以下文章
UITextView 以编程方式调整大小,但随后设置为旧的故事板值。
ActiveX - 控件的大小调整问题,在 .NET 中创建