UIButtonType проблема - PullRequest
       19

UIButtonType проблема

1 голос
/ 01 декабря 2010

Я создал UIButton, передав целочисленное значение следующим образом.

 UIButton* custom_newBackButton = [UIButton buttonWithType:101];
 [custom_newBackButton addTarget:self action:@selector(backButtonAction) forControlEvents:UIControlEventTouchUpInside];
 [custom_newBackButton setTitle:@"Back" forState:UIControlStateNormal];

 UIBarButtonItem* newBackButton = [[UIBarButtonItem alloc] initWithCustomView:custom_newBackButton];
 [[self navigationItem] setLeftBarButtonItem: newBackButton];

В некоторых классах это работает, но в некоторых классах происходит сбой с «Неверное преобразование из int в UIButtonType».Это рекомендуемый способ справиться с этим.Я просто использую этот 101, чтобы получить вид кнопки назад.

С уважением,

Дильшан

Ответы [ 2 ]

5 голосов
/ 01 декабря 2010

Следующие типы кнопок официально задокументированы в документации Apple:

typedef enum {
   UIButtonTypeCustom = 0,
   UIButtonTypeRoundedRect,
   UIButtonTypeDetailDisclosure,
   UIButtonTypeInfoLight,
   UIButtonTypeInfoDark,
   UIButtonTypeContactAdd,
} UIButtonType;

Наслаждайтесь! Пожалуйста, избегайте использования прямых значений. Значения констант могут измениться и сломать ваше приложение.

1 голос
/ 01 декабря 2010

Явное приведение к UIButtonType должно работать нормально, хотя константа недокументирована и будет отклонена при отправке в App Store, если рецензент узнает об этом.

...