- 来看下出现问题的常见代码
UIButton *btn = [[UIButton alloc] initWithFrame:CGRect(30, 100, 100, 50)];
btn.titleLabel.text = @"test";
btn.titleLabel.textColor = [UIColor blackColor];
[self.view addSubview:btn];
- 新手一般会认为,这不是按钮不是设置了frame、文字和文字颜色,也添加进了主视图了,怎么会显示不出来呢?
- 这是因为UIButton是继承自UIControl的,而UIControl继承自UIView,UIView继承自UIResponder。而继承自UIResponder的控件可以针对相应的响应形式去改变UI,因此定义按钮文字与颜色需要使用set方法
[btn setTitle:@"test" forState:UIControlStateNormal];
[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
扩展:寻找问题的源头
先给按钮设置背景色,容易寻找——btn.backgroundColor = [UIColor redColor]。然后按照以下步骤查找
- 是否设置按钮frame——初始化的initWithFrame方法或者对btn.frame进行赋值
- 是否被添加进主视图中——[self.view addSubview:btn],调试看界面
- 是否被遮挡——调试看界面
- 是否设置文字颜色,默认为白色的哟
- 按钮的属性设置语句是否正确
end:还找不到?
- 别着急
- 盖上电脑
- 然后
砸了吧~ ^_^