Изменить цвет кнопки стандартного всплывающего действия - PullRequest
1 голос
/ 14 сентября 2009

Я использую стандартное всплывающее окно в приложении для iPhone (всплывающее окно внизу экрана). Это имеет 2 кнопки «ОК» и «Отмена». Похоже, стандартная цветовая схема - верхняя кнопка красного цвета. Я хочу изменить это, чтобы верхняя кнопка была зеленой. Я всегда гуглил и не могу найти решение. Любые идеи будут великолепны. Спасибо

Ответы [ 3 ]

1 голос
/ 14 сентября 2009

Я полагаю, вы имеете в виду UIActionSheet. В UIActionSheet вы можете определить кнопку, которая отменяет действие и имеет черный фон, кнопку, обозначающую разрушительное действие и имеющую красный фон, и все другие кнопки, имеющие белый фон. Какая опция соответствует тому, какой класс действий может быть указан при инициализации UIActionSheet с помощью – initWithTitle:delegate:cancelButtonTitle:destructiveButtonTitle:otherButtonTitles:.

Дизайн таблицы UIActionSheet, включая описание того, почему вы должны использовать эти цвета только для своих кнопок, объясняется в Руководстве по интерфейсу пользователя iPhone . Я бы следовал советам Apple в этом отношении, поскольку они облегчат использование вашего приложения.

1 голос
/ 10 ноября 2011
UIActionSheet *action = [[UIActionSheet alloc] initWithTitle:@""
                          delegate:self 
                          cancelButtonTitle:@"Cancel" 
                          destructiveButtonTitle:nil,@"Mail",@"Facebook",@"Twitter",nil
                          otherButtonTitles:nil];
NSArray *buttons = [action subviews];
1 голос
/ 14 сентября 2009

Вы можете просматривать подпредставления ActionSheet (я полагаю, вы используете класс UIActionSheet) - вот так:

NSArray* subViews = [aSheet subviews];
for (UIView* sView in subViews)
{
    ...
}

И измените свойства подпредставлений там, где хотите.

Вы также можете создать UIActionSheet вообще без каких-либо кнопок:

UIActionSheet* aSheet = [[UIActionSheet alloc] initWithTitle:@"\n\n\n" delegate:self cancelButtonTitle:nil  destructiveButtonTitle:nil otherButtonTitles:nil];

А потом создайте свои собственные пользовательские кнопки и добавьте их в представление ActionSheet. (поместите больше \ n в заголовок, чтобы увеличить высоту листа)

...