目标
木错,就是这个在Windows上面很常见的东西,而在iOS里面,并没有这个控件可供使用…那么肿么办?就只能自己做呗…
分析
个人首先从用户交互上面分析了这个东西,首先它被触摸时及选中,其次在其他按钮被选中时,它能够撤销原有的选择状态。所以么,这个东西要有这些基本特点:
- 触摸时响应操作,触发选中状态
- 触摸其他按钮时会被撤销选中状态,及要有方法能够撤销单个按钮的选中状态
- 可能根据选项不同有不同的大小
因此,个人选择通过继承UIControl来实现这个空间类
编码
根据分析,控件需要有两种状态,而软件开启时可能被默认置于一种状态,及需要方法来设置选中和非选中状态,并需要一个属性来标记当前的状态,因为选择属性的直接更改会导致显示不同步,因此将属性设置为readonly
~~~ Objective-C
import
- (void)drawRect:(CGRect)rect {
// Drawing code
CGContex