Установка цвета фона UIVIew - PullRequest
       1

Установка цвета фона UIVIew

5 голосов
/ 27 сентября 2011

РЕДАКТИРОВАТЬ: Люди продолжают посещать этот пост, который не имеет много полезной информации, поэтому я помещу это здесь, чтобы помочь вам, ребята: Попробуйте установить свойство backgroundColor вашего UIView.Например:

myView.backgroundColor = [UIColor blueColor];

Убедитесь, что ваше представление было создано, и если оно вообще контролируется XIB или раскадровкой, убедитесь, что представление уже загружено (в противном случае все, что установлено в конструкторе интерфейса, будетстать цветом фона).Если это не работает, происходит что-то странное.Продолжайте искать, этот пост вам не поможет.

Оригинальный пост:

У меня есть NSObject со свойством UIView.В основном я использую этот UIView для отображения изображения, но в некоторых случаях я хочу установить его цвет фона.Тем не менее, каждый раз, когда я пытаюсь установить цвет фона, цвет остается четким.Любые изображения или другие подпредставления появляются, но фон нет.Как я могу изменить цвет фона UIView?Вот часть моего кода:

вот пример, где мне нужно мозаичное изображение: (это в функции, вызываемой после добавления UIView в представление viewcontroller)

(картинкаСвойство UIView)

 picture.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Tile.png"]];

Я также пробовал в других случаях:

picture.backgroundColor = [UIColor colorWithRed:0 green:1 blue:1 alpha:0.5];

В обоих случаях фон остается чистым.

Ответы [ 7 ]

8 голосов
/ 27 сентября 2011

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

Просто попробуйте:

picture = [[UIView alloc] initWithFrame:CGRectMake(10,10,200,200)];
picture.backgroundColor = [UIColor redColor];

Предполагая, что изображение уже объявлено в вашем файле интерфейса iVar типа UIView.

2 голосов
/ 27 сентября 2011

Если вы хорошо используете значение RGB, вы можете использовать

picture.backgroundColor = [UIColor colorWithRed:0 green:1 blue:1 alpha:1];

В противном случае используйте UIColor , чтобы установить цвет фона

picture.backgroundColor = [UIColor greenColor];
2 голосов
/ 27 сентября 2011

alpha имеет допустимый диапазон от 0,0 до 1,0. Вы установили 50, попробуйте 1 вместо:

picture.backgroundColor = [UIColor colorWithRed:0 green:1 blue:1 alpha:1];
0 голосов
/ 14 сентября 2016

Можно использовать атрибут инспектора для изменения цвета. Выберите цвет фона.

0 голосов
/ 01 августа 2013

Ваш код кажется полностью действительным, и он должен изменить цвет фона.Вы можете дважды проверить, что для свойства picture.opaque установлено значение YES (это значение по умолчанию, если ваш код не изменяет его).Но более вероятная проблема состоит в том, что кадр имеет нулевой размер.Я бы посоветовал проверить это.Например, войдя в систему:

    NSLog(@"Frame size: width=%f, height=%f", picture.frame.size.width, picture.frame.size.height);

Cheers

0 голосов
/ 07 июля 2013

Вероятно, стоит проверить, меняете ли вы цвет фона в главном потоке или нет.Если вы измените цвет фона в очереди отправки (кроме основной очереди), это иногда может не отразиться на внешнем интерфейсе.

0 голосов
/ 16 января 2012

Я не уверен, в чем была проблема, хотя я знаю, что это была не та проблема, с которой вы ответили, но в прошлый раз, когда я приступил к работе над проблемой, я заметил, что она работает.В любом случае спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...