【问题标题】:UIImageView returns to original position when image is set - tvOS设置图像时 UIImageView 返回到原始位置 - tvOS
【发布时间】:2016-02-27 04:40:07
【问题描述】:

我正在使用 Swift 并构建一个 tvOS 应用程序。

所以,我有一个名为imageView 的 UIImageView,它有约束,并设置在屏幕的中心,视图的宽度和高度约为 80%。

viewDidAppear 被调用时,我将其框架更改为离开屏幕imageView.frame = CGRectMake(self.view.frame.width, imageView.frame.minY, imageView.frame.width, imageView.frame.height)

当我点击我的遥控器时,我设置了它的图像:imageViewTwo.image = UIImage(named: "1")

问题:imageView.image 设置为我的图像时,它会将 UIImageView 的框架设置回其原始位置,该位置以视图为中心。我不想要这个。我想设置它的图像并让它保持在屏幕之外。

有人知道这里发生了什么吗?或者我怎样才能得到我想要的结果?很混乱。非常感谢所有帮助!

【问题讨论】:

  • 感谢编辑!
  • 在使用Auto Layout时,我们不直接处理frame,所以如果你想将image view移出屏幕,你应该修改约束而不是设置frame。

标签: swift uiimageview autolayout tvos


【解决方案1】:

尝试改变方法来做到这一点

viewDidLayoutSubviews

此方法在 AutoLayout 之后调用。 ViewDidAppear 在自动布局之前执行

【讨论】:

  • 好的,我试试。我发现将translatesAutoResizingMaskIntoConstraints 设置为 True 可以解决问题,但会导致在控制台中打印约束错误。我会尽快尝试你的建议,会反馈。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-29
  • 1970-01-01
  • 2013-11-08
  • 1970-01-01
  • 2011-12-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多