Как установить фоновое изображение как colorWithPatternImage в swift
Мои вопросы: возможно ли, чтобы UIView отображал изображение, и если да, то как я это делаю? Все, что я могу найти, это colorwithpatternImage
, который больше не работает с быстрым.
Код, который я пытаюсь использовать сейчас:
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]];
Заранее благодарим за ваши ответы!
Ответы
Ответ 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;
}