设置buntton中的文字和文字颜色,使用方法 [allOrderBtn setTitle:@"查看全部订单" forState:UIControlStateNormal]; [allOrderBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];,而不能使用allOrderBtn.titleLabel.text = [NSString stringWithFormat:@"查看全"]; allOrderBtn.titleLabel.textColor = [UIColor blackColor];使用后者不会展示出来。由此注意:在设置button的属性时,如果有相应的设置方法,就不要使用点语法
1)在同一个方法中,不能创建不同样式(即配置不同的属性,如一些属性使用,另一些不使用;属性要使用必须创建的所有按钮都使用才不会报错)的按钮,会报错,如下面错误案例:
- (instancetype)init
{ self = [super init];
if (self) {
for (int i = 0; i < 5; i++) {
UIButton *btn = [[UIButton alloc] init];
btn.tag = i;
if (i == 2) {
//UIButton *composeBtn = [[UIButton alloc] init];
[btn setBackgroundImage:[UIImage imageNamed:@"tabbar_compose_button"] forState:UIControlStateNormal];
[btn setBackgroundImage:[UIImage imageNamed:@"tabbar_compose_button_highlighted"] forState:UIControlStateHighlighted];
//因为这个配置和下面的按钮配置不一样,所以错误。即使是这个按钮自己新建按钮对象composeBtn 也是错误的,同样类型的控件在同一方法中要配置相同,否则错误
[btn setImage:[UIImage imageNamed:@"tabbar_compose_icon_add"] forState:UIControlStateNormal];
[btn setImage:[UIImage imageNamed:@"tabbar_compose_icon_add_highlighted"] forState:UIControlStateHighlighted];
[btn addTarget:self action:@selector(composeClick) forControlEvents:UIControlEventTouchUpInside];
[btn sizeToFit];
}else{
NSString *nor = self.normalString[i];
NSString *high = self.highString[i];
[btn setBackgroundImage:[UIImage imageNamed:nor] forState:UIControlStateNormal];
[btn setBackgroundImage:[UIImage imageNamed:high] forState:UIControlStateHighlighted];
[btn addTarget:self action:@selector(btnClick) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:btn];
}
}
return self;
}