ios5 – 在UISegmentedControl中设置默认段

ios5 – 在UISegmentedControl中设置默认段,第1张

概述我有一个应用程序,有两个viewcontrollers Viewcontroller和OptionsViewController. Viewcontroller是初始的viewcontroller然后如果我点击一个按钮我有一个modal segue到optionsviewcontroller.在optionsviewcontroller我有我从故事板创建的UISegmented viewcontr 我有一个应用程序,有两个vIEwcontrollers VIEwcontroller和OptionsVIEwController. VIEwcontroller是初始的vIEwcontroller然后如果我点击一个按钮我有一个modal segue到optionsvIEwcontroller.在optionsvIEwcontroller我有我从故事板创建的UISegmented vIEwcontroller链接到插座(UnitsSegmentedControl),我希望能够告诉分段控件默认情况下,当OptionsVIEwController加载时应该选择哪个段.
在我的VIEwcontroller中,我写了一个方法:

-(voID)prepareForSegue:(UIStoryboardSegue *)segue sender:(ID)sender{OptionsVIEwController *ovc=[segue destinationVIEwController];ovc.delegate=self;[ovc.UnitsSegmentedControl setSelectedSegmentIndex:1];

事情是,当OptionsVIEwController加载视图时,默认情况下所选索引为0.我没有收到任何错误消息或其他内容.
我正在使用Xcode 4.2.我认为这可能是我可以在故事板中更改的一些选项,以使UISegmentedControl能够设置默认选择的索引.我不知道还有什么可能导致这种情况.谢谢

编辑:
我发现如果我写:

[ovc.UnitsSegmentedControl setSelectedSegmentIndex:1];

在OptionsVIEwController方法里面vIEwdIDload一切正常.为什么我不能从准备segue方法中做到这一点?

解决方法 在加载OptionsVIEwController之前,分段控件不存在,这就是为什么不能在VIEwController的prepareForSegue方法中设置所选段的原因.查看UISegmentedControl类参考显示无法设置默认状态:

“默认值为UISegmentedControlNoSegment(未选择段),直到用户触摸一个段.将此属性设置为-1以关闭当前选择.当控件处于瞬时模式时,UISegmentedControl忽略此属性.当用户触摸一个段时更改选择,生成控制事件UIControlEventValueChanged;如果分段控件设置为响应此控件事件,则会向其目标发送 *** 作消息.

在OptionsVIEwController的vIEwDIDLoad方法中设置selectedSegmentIndex是设置视图控制器默认值的正确方法.

总结

以上是内存溢出为你收集整理的ios5 – 在UISegmentedControl中设置默认段全部内容,希望文章能够帮你解决ios5 – 在UISegmentedControl中设置默认段所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1074314.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存