如何在swift中将背景图像设置为colorWithPatternImage

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在swift中将背景图像设置为colorWithPatternImage相关的知识,希望对你有一定的参考价值。

我的问题是,是否有可能让UIView显示图像,如果有,我怎么做呢?我能找到的只是colorwithpatternImage,它不再适用于swift。

我现在尝试使用的代码是:

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]];  

提前感谢您的回答!

答案

请参阅UIColor documentation

在Swift中,您必须调用便捷初始化程序。这是因为在Swift中,所有返回其类实例的Objective-C类方法都成为了方便的初始化器。

以下是它在Swift中的外观:

 self.view.backgroundColor = UIColor(patternImage: UIImage(named: "background.png"))

+ (UIColor *)colorWithPatternImage:(UIImage *)image返回一个UIColor实例,因此它将成为Swift中的便利初始化器。同样,UIImage imageNamed:成为init(patternImage image: UIImage!)

另一答案

我更喜欢这个:

let backgroundImage = UIImageView(frame: UIScreen.mainScreen().bounds)
backgroundImage.image = UIImage(named: "background.png")
self.view.insertSubview(backgroundImage, atIndex: 0)

由于将图像设置为背景颜色会使其有点模糊。

另一答案

编辑@ User9527的回答了一下。不知道为什么它被投了票..对我来说很棒。刚添加了我自己的自定义框架。

let frame = CGRectMake(10, 55, 45, 45)
let backgroundImage = UIImageView(frame: frame)
backgroundImage.image = UIImage(named: "bg_image")
self.view.insertSubview(backgroundImage, atIndex: 0)
另一答案

如果你正在尝试使用imageview的图层属性,你应该使用这样的东西

userProfilePic.layer.borderColor = UIColor(patternImage:UIImage(named: "yourimg.png")!).CGColor
另一答案

您必须为上述代码添加可选绑定才能工作。这是UIImage之后的感叹,如下所示。

view.backgroundColor = UIColor(patternImage: UIImage(named: "backgroundSection.png")!)

另一答案

这需要我付出相当大的努力,捕获并传递以供参考。请参阅下面的swift生成和使用的完整示例。

参考例

演示应用程序

enter image description here

代码摘录

以下是UIView在演示中的纹理,请参阅完整列表的代码 -

func genTexturedView(_ view:UIView) {
    ...
    image.image = UIImage(named:"purple_example");
    view.addSubview(image);

    print("ViewController.genTexturedView():    Textured View added");

    return;
}

以上是关于如何在swift中将背景图像设置为colorWithPatternImage的主要内容,如果未能解决你的问题,请参考以下文章

如何在kivy中将屏幕背景设置为图像

如何以编程方式在 Swift 中将 uiimageview 设置为 xcode 内置的 applewatch 图标图像?

如何在swift上使用背景颜色将图像设置为imageview中心

SDWebImage 使用 Swift 在 CellView 中将图像设置为 UIButton

如何使用swift在iOS中为活动设置两种不同大小的背景图像作为横向和纵向模式

如何使用swift在Xcode中设置背景图像?