Возможно ли установить цвет фона отключенUIButton
? Мы хотели бы использовать более приглушенный цвет, когда кнопка отключена, но я не вижу никаких методов в пределах UIButton
, которые позволят это. Есть ли обходной путь или другой способ, которым мы могли бы это сделать?Установить цвет фона на UIButton при отключении?
ответ
Надеется, что это помогает:
UIButton *btn = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 100, 35)];
CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [[UIColor redColor] CGColor]);
CGContextFillRect(context, rect);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[btn setBackgroundImage:image forState:UIControlStateDisabled];
Этого код для Swift 2
let rect = CGRectMake(0, 0, someButton.frame.width,someButton.frame.height)
UIGraphicsBeginImageContext(rect.size)
let context = UIGraphicsGetCurrentContext()
CGContextSetFillColor(context, CGColorGetComponents(UIColor.lightGrayColor().CGColor))
CGContextFillRect(context, rect)
UIGraphicsBeginImageContextWithOptions(view.bounds.size, true, 0)
view.drawViewHierarchyInRect(view.bounds, afterScreenUpdates: true)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
someButton.setBackgroundImage(image, forState: .Disabled)
someButton.enabled = false
Я концентрируясь на этом комментарии вашего s - "Мы хотели бы использовать более приглушенный цвет, когда кнопка отключена ". Если изменение альфа кнопки является приемлемым решением, вы можете очень хорошо использовать этот код.
someButton.alpha = 0.5;//This code should be written in the place where the button is disabled.
Кажется, что это невозможно, так как свойство цвета фона контролируется UIView
класса, который является предком UIButton
.
So UIButton
состояние управления не принадлежит это имущество и не контролирует его.
Но все же вы можете наследовать UIButton
и перезаписать метод setEnabled
, чтобы соответствующим образом обновить цвет.
Это самый понятный способ сделать это. так как вы можете назначить унаследованный класс любому UIButton
в раскадровке или файле Xib. без необходимости каких-либо подключений. (нет IBOutlets
)
Надеюсь, что это полезно, если хотите, я могу поделиться некоторым кодом.
Как предложено здесь: https://stackoverflow.com/a/5725169/1586606
Набор свойств альфа;
myButton.alpha = 0.5
- 1. iOS: цвет заголовка UIButton при отключении
- 2. Заполните цвет фона на UIButton при перетаскивании
- 3. Изменен цвет фона элемента при отключении
- 4. Как установить цвет фона UIButton по состоянию
- 5. Невозможно установить цвет фона UIButton, если выбрано?
- 6. Изменить цвет фона UIButton при выделении
- 7. Как установить цвет внутри UIButton (а не цвет фона)
- 8. При отключении UIButton он скрывает
- 9. Как анимировать цвет фона UIButton
- 10. Цвет изображения в UIButton замаскирован на цвет фона
- 11. Установить цвет текста UIButton
- 12. Изменение цвета фона списка C# при отключении
- 13. Цвет фона UIButton становится белым при работе на iOS6
- 14. Установить цвет фона на NSTableCellView
- 15. Как установить цвет фона фона?
- 16. Как установить цвет фона UIButton forState: UIControlState.Highlighted in Swift
- 17. Установить цвет фона UIButton, используя имя цвета в iPhone
- 18. Как обработать изображение при отключении UIButton
- 19. Установить цвет фона TabControl
- 20. Как установить цвет фона?
- 21. Как установить цвет фона NSWindowController при загрузке?
- 22. изменить цвет фона UITableViewCell на кране на UIButton внутри
- 23. Изменение цвета фона FAB при отключении
- 24. Установить виджет цвет фона
- 25. Установить цвет фона макета
- 26. Установить цвет фона
- 27. Как сменить цвет фона uibutton programatically
- 28. Изменить цвет фона для UIButton IPhone
- 29. Как изменить цвет фона UIButton в Monotouch
- 30. Как удалить выбранный цвет фона UIButton?
это может помочь: http://stackoverflow.com/a/6309314/986169 – giorashc
Если вы готовы к подклассу кнопку, вы можете просто переопределить '-setEnabled:' – Alladinian
Может, пожалуйста, скажите, шаг за которые вы хотите изменить цвет фона. – Rajesh