如何启用UISegmentedControl的多个段?

dla*_*lin 13 iphone uisegmentedcontrol

让我们说我的UISegmentedControl有8个编号的段.我希望用户能够一次打开2,3或更多.切换他们.基本上就像一个字节中的位.这可能吗?我相信它是在普通的Mac OS X上,但我似乎无法在iPhone SDK中找到一种方法.

如果我必须通过将按钮放入视图来模拟这个,有没有办法执行以下操作:

  1. 围绕视图的角落,使其看起来像"bar"样式UISegmentedControl?
  2. 使用按钮上的"条形"样式的内置背景?
  3. 给按钮一个像整个"酒吧"风格一样的阴影?(不是文字)

pix*_*x0r 8

使用UIKit是不可能的.我建议创建一个自定义控件或一组UISwitch控件,代表UISegmentedControl中的每个选项.


Ste*_*ald 8

这是我发现的最佳自定义控件,允许同时选择多个段:

https://github.com/yonat/MultiSelectSegmentedControl

这个是UISegmentedControl的子类,很方便.我在这里分叉了:

https://github.com/stewartmacdonald/MultiSelectSegmentedControl

并向ReadMe添加了一些代码示例,并添加了一个方法,允许您获取所有选定段的标题的NSArray.