我正在通过代码设置 UISegmentedControl 的 selectedSegmentIndex 。
每当我这样做时,就会调用 valueChanged 操作。这对我来说听起来很合乎逻辑,但是有没有办法在不调用操作的情况下设置选定的段?它应该只是更新显示。
我不止一次使用过 UISegmentedControl,直到现在我什至没有注意到这种行为。但这次我需要在选择特殊段时发出警报。因此,如果视图出现并且我想显示以前选择的值,我将无法忍受调用的操作。
我可以断开该操作,更改 selectedValue 并重新连接该操作。但也许有更好的方法。
你的问题是一个明智的问题;我只能建议您发现了一个错误,因为这很不寻常。通常,更改代码中的控件不会导致发出任何控件事件。设置 UIDatePickerdate
不发出 Value Changed 事件。设置 UIPageControl 的currentPage
不发出 Value Changed 事件。设置 UISlider 的value
不发出 Value Changed 事件。设置 UISwitchon
不发出 Value Changed 事件。类似地,设置 UITextField 的text
不发出编辑更改事件。因此,更改 UISegmentedControl 的事实selectedSegmentIndex
发出 Value Changed 事件感觉不对。我将提交一个错误,我想你也应该这样做。
我没有看到明显的方法来确定值更改事件是由用户点击还是以编程方式触发。你必须升高和降低一个 BOOL 标志或其他东西。
编辑:这在 iOS 5 中已修复。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)