一直自定按钮 遇到两个做的不好的地方。
1 是按钮响应方法时候状态自定义不好看 按压感不明显
2 是button上的title 是我自己用label写上去的 而不是用button的属性
这两天终于运用自如了。解决以上两个问题方法如下(待补充)
1.系统自带的按压感会随着自定义图片的颜色 或者是背景色深浅 可能会出现 按压的视觉效果不明显的状况 所以
我这里自定义一个高亮状态的图片背景 效果可观
先上图看效果
两行关键代码如下
[btn setBackgroundImage:[UIImage imageNamed:@"bg_home_tab.png"] forState:UIControlStateNormal];
[btn setBackgroundImage:[UIImage imageNamed:@"set_line_single@2X.png"] forState:UIControlStateHighlighted]; [btn.layer setMasksToBounds:YES];
[btn.layer setCornerRadius:5.0];//设置矩形四个圆角半径
这样就流畅的展示了按钮的响应状态
至于两张图片 我使用的都是一个单位的像素条 扁平化风格 也可以尝试选择别的样式
2.我说我之前写按钮标题 都是写一个label 在上面 而不是用UIButton的属性设置title,因为之前我的写法是 :
btn.titleLabel.text=@"提交";
然后按钮上啥都没有,我就自己写label了 现在才知道 btn 继承于UIView 不能用view 的属性去同样的方式写btn 的title
正确实践方法如下:
[btn setTitle:@"提交" forState:UIControlStateNormal];//关键是这句写标题
btn.titleLabel.textColor=[UIColor whiteColor]; //设定标题颜色
btn.titleLabel.font=[UIFont systemFontOfSize:];