UISegmentedControl

一个UISegmentedControl对象表示一个由多个分段组成的水平控件(其实就是tabbar),一个分段控件可以显示一个标题或一个图像,UISegmentedControl对象会自动调整分段的大小以适应父视图,除非他们有一个指定的宽度集。

自定义外观

你可以通过[UISegmentedControl appearance]来自定义外观。如果要提供完整的定制,你需要为不同的状态组合提供分隔图像,这可以通过setDividerImage:forLeftSegmentState:rightSegmentState:barMetrics:方法实现:

  1. // 什么都没选中的状态
  2. [mySegmentedControl setDividerImage:image1 forLeftSegmentState:UIControlStateNormal
  3. rightSegmentState:UIControlStateNormal barMetrics:barMetrics];
  4. // 左边的分段被选中,右边的分段未选中
  5. [mySegmentedControl setDividerImage:image1 forLeftSegmentState:UIControlStateSelected
  6. rightSegmentState:UIControlStateNormal barMetrics:barMetrics];
  7. // 左边的分段未选中,右边的分段被选中
  8. [mySegmentedControl setDividerImage:image1 forLeftSegmentState:UIControlStateNormal
  9. rightSegmentState:UIControlStateSelected barMetrics:barMetrics];

注意

  • 通过UIControlEventValueChanged事件来监听分段的改变。