【问题标题】:Changing UIView (UIImageView specifically) frame programmatically not working以编程方式更改 UIView(特别是 UIImageView)框架不起作用
【发布时间】:2015-02-07 09:01:24
【问题描述】:

我加载了具有特定高度和宽度的UIImageView。初始化后,我想以编程方式将其更改为height。我正在使用以下代码来执行此操作,但它不起作用。

注意:UIImageView 设置了约束。

CGRect newframe = imageView.frame;
newframe.size.height= 500;
[imageView setFrame:newframe];

调用setFrame 不会更改图像上的任何内容。我做错了什么?

谢谢

【问题讨论】:

  • 你在哪里换框架。在 viewDidLoad 中?
  • 为什么要更改框架而不是使用自动布局约束?
  • 好的,我将尝试更改约束。我是布局新手。谢谢
  • 自动布局“阻止”你像这样改变框架。如果你想让它工作,你必须关闭自动布局:-)

标签: ios objective-c iphone uiview uiimageview


【解决方案1】:

改为在初始化 UIImageView 后修改高度约束。请参阅此处的第二个答案以获取示例:Change frame programmatically with auto layout

【讨论】:

  • 一个问题,如何使用 Xcode 将约束的 IBOutlet 连接到类?
  • 与将 UIImageView 连接到 IBOutlet 的方式相同。
  • 我的约束是纵横比。我正在尝试访问高度。 constraint.constant=0 不起作用。我猜它会像 constraint.secondItem.(something)=0 ,那是什么?
  • @Pacemaker 纵横比没有高度。它具有宽度和高度之间的关系。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-25
  • 1970-01-01
  • 1970-01-01
  • 2013-09-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多