uiviewswift

how to set a background image as colorWithPatternImage in swift


My questions is, is it possible to have a UIView display an image, and if so, how so I do it? All I can find is the colorwithpatternImage which no longer works with swift.

The code I am trying to use now is:

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

Solution

  • Refer to the UIColor documentation.

    In Swift, you have to call a convenience initializer. This is because in Swift, all Objective-C class methods which return an instance of their class become convenience initializers.

    Here's how it looks in Swift:

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

    + (UIColor *)colorWithPatternImage:(UIImage *)image returns a UIColor instance, so it will become a convenience initializer in Swift. Similarly, UIImage imageNamed: becomes init(patternImage image: UIImage!).