2015-05-17 4 views
0

В моем приложении есть UIActionSheet. Я хочу изменить цвет фона кнопок рабочего листа и шрифта кнопок. Я сделал поиск найденную ниже код:Изменение цвета кнопок и символов кнопки UIActionSheet

for (UIView *_currentView in actionSheet.subviews) 
     { 
      if ([_currentView isKindOfClass:[UIButton class]]) 
      { 
       //DO YOUR WORK 
      } 
     } 

но этот код не работает на КСН 8. для КСН я нашел ниже код тоже:

[[UIView appearanceWhenContainedIn:[UIAlertController class], nil] setTintColor:[UIColor redColor]]; 

но этот код только меняет цвет шрифта кнопки.

Есть ли способ изменить цвет фона кнопки?

ответ

2

В основном, что вы пытаетесь сделать, это то, что вы не должны делать и никогда не должны были делать. UIActionSheet и UIAlertController обеспечивают стандарт виды с очень небольшим количеством вариантов и полностью стандартным внешним видом. Вы не должны пытаться с этим справиться.

Однако, не теряйте надежду! Ничто не мешает вам разработать собственный вид , который выглядит, как вы хотите. И на iOS 8 (и iOS 7) это очень просто, потому что вам разрешено создавать представленный контроллер представлений, чей вид скользит по экрану и покрывает его лишь частично, точно так же, как лист предупреждений. Итак, продолжайте и создайте свой собственный нестандартный столбец кнопок, вместо того, чтобы пытаться изменить стандарт Apple.

+0

Возможно, вы можете больше узнать, как я могу это сделать: «Создайте представленный контроллер представлений, чьи представления скользят на экран и покрывают его только частично, точно так же, как лист предупреждений». –

+0

Это особенно удобно в iOS 8, потому что когда вы сделайте представленный контроллер представления, вы можете указать конечный размер/положение представления, анимацию, с помощью которой она появляется и исчезает, и должно ли появляться какое-либо «затемнение». Я демонстрирую здесь: https://github.com/mattneub/custom-alert-view-iOS7/blob/master/CustomAlertViewDemo/CustomAlertViewTransitioner.swift Это для пользовательского представления предупреждений, а не листа действий, но изменяющего пример как лист действий, будет очень простым. – matt

0

То, что работает для меня это:

UICollectionViewCell.appearance().backgroundColor = UIColor.whiteColor() // or any other color you want 

Обратите внимание, что это влияет на фон, когда представлено в пироге или на iPhone. Если вы используете UICollectionView в другом месте вашего приложения, установите цвет фона вручную для переопределения.

Смежные вопросы