Подтвердить что ты не робот

Как установить фоновое изображение как colorWithPatternImage в swift

Мои вопросы: возможно ли, чтобы UIView отображал изображение, и если да, то как я это делаю? Все, что я могу найти, это colorwithpatternImage, который больше не работает с быстрым.

Код, который я пытаюсь использовать сейчас:

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

Заранее благодарим за ваши ответы!

4b9b3361

Ответ 1

Обратитесь к UIColor документации.

В 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!).

Ответ 2

Я предпочитаю это:

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

Поскольку установка изображения в качестве backgroundColor сделает его незаметным.

Ответ 3

Отредактировано @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)

Ответ 4

Если вы пытаетесь использовать свойство слоя изображения, вы должны использовать что-то вроде этого

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

Ответ 5

Вы должны добавить необязательную привязку для работы вышеприведенного кода. Это восклицание после UIImage, как показано ниже.

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

Ответ 6

Мне потребовалось немало усилий, захватив и передав для справки. Ниже приведен полный пример генерации и использования с быстрым.

Справочный пример

Демо-приложение

введите описание изображения здесь

Выдержка кода

Вот как UIView текстурирован в демо, см. код для полного списка -

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

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

    return;
}