Как изменить выделенный цвет кнопок в UIActionSheet - iPad - PullRequest
0 голосов
/ 04 февраля 2012

Я бы изменил выделенный цвет кнопок в UIActionSheet в приложении iPad, потому что мне нужно изменить синий цвет по умолчанию на другой цвет ... Я нашел только решение, которое использует недокументированную функцию, и, возможно, это единственный способ сделать этот ! Но я бы не стал использовать решение, которое могло бы помешать мне зайти в App Store ...

Есть идеи или проект github для ссылки?

Ответы [ 2 ]

2 голосов
/ 05 февраля 2012

Я решил таким образом:

   - (void)willPresentActionSheet:(UIActionSheet *)actionSheet {

    //Gets an array af all of the subviews of our actionSheet
    NSArray *subviews = [actionSheet subviews];

    for (UIView *v in subviews) {
        if ([v isKindOfClass:[UIButton class]]) {
            UIButton *b = (UIButton*)v;
            [b setBackgroundImage:[UIImage imageNamed:@"backActionSheetHighlighted.png"] forState:UIControlStateHighlighted];
            [b setBackgroundImage:[UIImage imageNamed:@"backActionSheet.png"] forState:UIControlStateNormal];
        }
    }   
}

результат следующий:

enter image description here

1 голос
/ 04 февраля 2012

перейдите по ссылке, вы найдете, как добавить подпредставление в листе действий http://www.ifans.com/forums/showthread.php?t=301851. Тогда в кнопке вы можете попробовать это:

[myButton setBackgroundImageByColor:[UIColor greenColor] forState:UIControlStateHighlighted ];
...