当前位置:  开发笔记 > IOS > 正文

UISegmentedControl行为

如何解决《UISegmentedControl行为》经验,为你挑选了1个好方法。

关于iPhone上的UISegmentedControl类的快速问题.

希望有些人可能已经注意到,在具有2个段的默认状态下,即使用户点击当前选择的段,分段控件仍将切换.

我在应用中看到了UISegmentedControls否定了这种行为,并且在用户按下选定的段时不进行切换.即,Apple的iTune Store应用程序.

是否有一种简单的方法可以防止我忽略这种行为,或者我是否需要在valueChanged中写入一些逻辑?

我一直试图禁用当前选定的段并启用未选择的段,但这似乎改变了控件的外观,当我不希望它.

有任何想法吗?



1> Kendall Helm..:

查看UISegmentedControl.h头文件(一种简单的方法是在XCode中双击"UISegmentedControl"并按住Command).

在那里,您将在_segmentedControlFlags结构中看到许多项目.如果你在UISegmentedControl上创建一个类别,你可以操作任何这些元素 - 包括dontAlwaysToggleForTwoSegments,你可能会猜到你正在寻找的东西.

由于这在API标题中有记录(尽管不在实际文档中),因此使用它应该是非常安全的.


这不是文档API,它是私有的.它在标题中公开的原因是模拟器使用遗留运行时并且要求ivar布局保持一致.这就是为什么针对模拟器的一个版本编译的应用程序并不总是能够正确地对抗其他模拟器构建.如果你这样做,如果苹果在未来的OS版本中改变了类的布局,你可能会突然崩溃.
推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有