【问题标题】:How can I bring a UIView's border behind a UIImage?如何将 UIView 的边框放在 UIImage 后面?
【发布时间】:2018-01-30 14:11:53
【问题描述】:

我是 Swift 新手,在尝试开发小型应用程序时遇到问题,我真的希望有人能帮助我。

基本上,我在 UIView 中有一个 UIImage,我想将 UIView 的边框发送到后面(见下图)

所以,我给 UIView 一个边框,它会穿过我的图像。我的问题是:

如何将 UIView 的边框放在 UIImage 后面?

注意:如果这是一个重复的问题,我深表歉意,我已经寻找了几个小时的答案,但找不到我需要的答案。

最好的问候!

这是我的图像代码:

speakerImage.layer.cornerRadius = speakerImage.frame.size.width / 2;
speakerImage.clipsToBounds = true;
speakerImage.layer.zPosition = 1

这是我的视图代码:

speakerContentView.layer.cornerRadius = 5
speakerContentView.layer.borderWidth = 1
speakerContentView.layer.borderColor = UIColor.gray.cgColor
speakerContentView.layer.shadowColor = UIColor.gray.cgColor
speakerContentView.layer.shadowOpacity = 0.7
speakerContentView.layer.shadowOffset = CGSize(width: 0, height: 3)
speakerContentView.layer.zPosition = -1

【问题讨论】:

  • 请在问题中包含创建边框的代码。
  • 刚刚添加,谢谢提醒。我完全忘记了代码!
  • @Krunal 你已经回答了这个问题;无需评论链接到您的答案。
  • 我认为最好将图像视图和包含文本的视图放在一个超级视图下,使它们成为兄弟,这样您就可以将图像视图放在视图的顶部。

标签: ios swift uiview uiimage


【解决方案1】:

这可能对你有帮助!!

  • 将您的图像移到当前 (speakerContentView) 视图之外,并将其设置在更高的层次结构中,以便它能够获得最前面的位置。
  • 将图像的垂直中心 Y 设置为等于当前 (speakerContentView) 视图 Y

看这张图片:

可能不是标准方法,但可以解决您的问题。

【讨论】:

  • 我不管你住在哪里,我会找到你的!我会给你一个大大的拥抱!!!!!!!!!!!!我花了几个小时来理解这个问题。尝试对其进行编码,但看起来它更容易。非常感谢,非常感谢您的帮助!!!
  • @同志哈哈..我希望,我们会见面:)您可以接受(在投票计数器下方启用trickmark)这个答案!
【解决方案2】:

您应该在图像下方添加一个与父视图大小相同的子视图,并为其分配边框/阴影而不是其父视图。

【讨论】:

  • 是的!我不敢相信这是问题所在。我非常感谢您花时间提供帮助!
猜你喜欢
  • 2021-10-14
  • 1970-01-01
  • 1970-01-01
  • 2014-08-10
  • 2011-07-25
  • 1970-01-01
  • 2013-06-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多