【问题标题】:Swift UIImageView is above all other views [duplicate]Swift UIImageView 高于所有其他视图 [重复]
【发布时间】:2014-12-09 20:46:39
【问题描述】:

我在 Swift 中遇到问题,我在 Main.storyboard 中的视图上放置了 UIImageView。我想将此 UIImageView 用作背景图像,因此我希望它位于“组件堆栈”的底部。不幸的是,这个 UIImageView 似乎是最重要的,并且没有显示我的 UIPickerView 和 UIButtons。如果我调整 UIImageView 的大小,您可以通过查看我附加的图片来了解我的意思。

有谁知道如何解决这个问题并将 UIImageView 设置在底部,并将我的所有其他组件设置在它上面?

答案: 谢谢大家,我通过将collectionview的backgroundview更改为backgroundview来修复它。代码如下:

    var imageViewObject :UIImageView!
    imageViewObject = UIImageView(frame: CGRectMake(0, 0, viewSize.width, viewSize.height))
    imageViewObject.image = UIImage(named:"intro.jpg")

collectionView = UICollectionView(frame: self.view.frame, collectionViewLayout: layout)
collectionView!.dataSource = self
collectionView!.delegate = self
collectionView!.registerClass(NameCell.self, forCellWithReuseIdentifier: "Cell")
collectionView!.backgroundView = imageViewObject
backgroundView.addSubview(collectionView!)

【问题讨论】:

  • 如果你想要它在后面,把它移到后面。分层顺序完全取决于您。这里的难点是什么?

标签: ios swift xcode6 background-image


【解决方案1】:

如果在情节提要中:

  • 单击/选择要进行 z 排序的图像
  • 然后从菜单栏
  • 选择编辑器->排列
  • 然后选择“置后”或“置前”
  • 您可以选择“向前发送”或“向后发送”到层之间的位置

【讨论】:

    【解决方案2】:

    有谁知道如何解决这个问题并将 UIImageView 设置在底部,而我的所有其他组件都在它上面?

    三件事:

    1. 您可以通过编程方式设置视图的 z 顺序。看看-sendSubviewToBack:-insertSubview:aboveSubview:等。

    2. 如果您需要在情节提要中执行相同操作,只需使用情节提要编辑器中编辑器菜单的排列子菜单中的命令重新排列视图即可。

    3. 通常最好让视图包含其他视图。考虑将“前”视图添加为背景视图的子视图。这样你就可以通过移动背景视图来移动整个“屏幕”,子视图也会随之移动。

    【讨论】:

      【解决方案3】:

      您的问题启发了我写这篇博文来展示如何使用 Storyboard 和内部代码来实现,希望这对您有用。 UIView Hierarchy

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-16
        • 1970-01-01
        • 2021-05-01
        • 2023-03-05
        相关资源
        最近更新 更多