IOS UIButton 自定义的补充学习

时间:2022-11-05 10:06:25

一直自定按钮 遇到两个做的不好的地方。

1 是按钮响应方法时候状态自定义不好看 按压感不明显

2 是button上的title 是我自己用label写上去的 而不是用button的属性

这两天终于运用自如了。解决以上两个问题方法如下(待补充)

1.系统自带的按压感会随着自定义图片的颜色 或者是背景色深浅 可能会出现 按压的视觉效果不明显的状况 所以

我这里自定义一个高亮状态的图片背景 效果可观

先上图看效果

IOS UIButton 自定义的补充学习IOS UIButton 自定义的补充学习

两行关键代码如下

[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:];