#iphone #objective-c
#iPhone #objective-c
Вопрос:
Я пытаюсь изменить цвет фона UILabel с помощью этого кода
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
m_ShopName.text = m_CurrShop.m_Name;
m_ShopAddress.layer.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.0].CGColor;
}
но ничего не происходит.
Ответ №1:
Это поможет вам
UILable *lbl = [[UILabel alloc]initWithFrame:CGRectMake(10,20,50,200)];
lbl.backgroundColor = [UIColor redColor];
Ответ №2:
Можете ли вы это сделать:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
m_ShopName.text = m_CurrShop.m_Name;
m_ShopAddress.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.0];
}
Ответ №3:
Я всегда делал следующее
m_ShopAddress.backgroundColor = [UIColor red];
Когда я хотел изменить альфа-версию…
m_ShopAddress.alpha = 0.0f;
Ответ №4:
Альфа-значение 0 означает, что он полностью прозрачен. Вероятно, поэтому ничего не происходит (что бы вы под этим ни подразумевали).
И я бы обращался к цвету фона не к слою, а непосредственно к UILabel.
Ответ №5:
Если вы используете раскадровку, проверьте, есть ли у вас цвет для фона просмотра в раскадровке. Для меня цвет фона просмотра переопределял цвет слоя. Я изменил цвет фона для представления в раскадровке на стандартный, и это исправило его для меня.
Итак, у меня был код:
func select() -> Void {
imageViewBackgroundView.layer.backgroundColor = UIColor.black.cgColor
cellImageView.layer.backgroundColor = UIColor.black.cgColor
cellLabel.layer.backgroundColor = UIColor.black.cgColor
cellLabel.textColor = UIColor.white
}
Метка ячейки была фоном просмотра, который не менялся. Когда-то я задавал цвет фона для представления в раскадровке. Как только я изменил вид фона для метки ячейки на значение по умолчанию, цвет слоя вступил в силу.