【问题标题】:Overlaying UIView with an background image用背景图片覆盖 UIView
【发布时间】:2011-12-18 00:49:58
【问题描述】:

是否可以在不使用 Interface Builder 中的 UIImageView 的情况下用图像覆盖 UIView?

如果没有,您将如何在代码中完成相同的操作?

【问题讨论】:

    标签: ios uiview uikit uiimageview uiimage


    【解决方案1】:

    来自 UIView 文档:

    基于图像的背景 - 对于显示相对静态内容的视图,请考虑使用带有手势识别器的 UIImageView 对象,而不是子类化并自己绘制图像。或者,您也可以使用通用 UIView 对象并将您的图像分配为视图的 CALayer 对象的内容。

    使用第二个选项,将 someView 设置为具有 yourImage.png 的背景:

    someView.layer.contents = (id)[[UIImage imageNamed:@"yourImage.png"] CGImage];

    【讨论】:

      【解决方案2】:

      如果覆盖 UIView 是指用图像绘制其背景,则可以这样完成:

      someView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"yourImage.png"]];
      

      您还可以添加一个新的 UIImageView 覆盖您的 UIView 通过代码,使用与 UIView 相同的框架 Rect 初始化 UIImageView 并将其添加为子视图。

      【讨论】:

      • 对,因为函数colorWithPatternImage是自定义方法,所以不是IB上出现的选项。只有单一的颜色可供选择。尽管通过创建一个覆盖您的视图并具有相同框架的 UIImageView 可以使用 IB 完成相同的任务。当您不希望您的视图被覆盖时,您可以简单地将其 .hidden 属性设置为 YES/NO。
      猜你喜欢
      • 2017-11-15
      • 1970-01-01
      • 2018-01-17
      • 1970-01-01
      • 2015-05-17
      • 2018-03-17
      • 1970-01-01
      • 2012-04-17
      • 2016-09-26
      相关资源
      最近更新 更多