我通过传递一个整数值来创建一个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来获得后退按钮的外观和感觉。
此致
Dilshan
答案 0 :(得分:5)
Apple文档资料中正式记录了以下按钮类型:
typedef enum { UIButtonTypeCustom = 0, UIButtonTypeRoundedRect, UIButtonTypeDetailDisclosure, UIButtonTypeInfoLight, UIButtonTypeInfoDark, UIButtonTypeContactAdd, } UIButtonType;
享受!请避免使用直接值。常量值可能会改变并破坏您的应用程序。
答案 1 :(得分:1)
明确地将其强制转换为UIButtonType
应该可以正常工作,但常量是未记录的,如果审阅者知道这一点,则会在提交到App Store时被拒绝。