两个事件处理方法如下所示:
但是这里还有一个小问题, 假如用户按住按钮不放, 然后用手指拖动出来的时候, 会发现标题变色了, 但是背景色没有变, 从而造成错误的显示.
所以还需要对 drag 事件进行处理, 即当用户在按钮的区域内按下不放, 然后手指拖动出来时, 恢复为默认的颜色(当然也可以处理成自己想要的效果):
对应的 action 方法:
可以用view的layer属性来写的。如果只是简单地加一个边框的话,可以这样:
UIButton *yourButton = [UIButton buttonWithType:UIButtonTypeSystem]
// 初始化工作,设置文字,frame等等,略
// 按钮边框宽度
yourButton.layer.borderWidth = 1.5
// 设置圆角
yourButton.layer.cornerRadius = 4.5
// 设置颜色空间为rgb,用于生成ColorRef
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB()
// 新建一个红色的ColorRef,用于设置边框(四个数字分别是 r, g, b, alpha)
CGColorRef borderColorRef = CGColorCreate(colorSpace,(CGFloat[]){ 1, 0, 0, 1 })
// 设置边框颜色
yourButton.start.layer.borderColor = borderColorRef
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)