首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在iPhone中更改UISwitch上的文本?

如何在iPhone中更改UISwitch上的文本?
EN

Stack Overflow用户
提问于 2011-09-13 18:01:42
回答 4查看 3.4K关注 0票数 1

我需要更改UISwitch上的文本,为此,我尝试了下面的代码,

代码语言:javascript
运行
复制
((UILabel *)[[[[[[_agreeAgb subviews] lastObject] subviews] objectAtIndex:2] subviews] objectAtIndex:0]).text = @"Foo";
((UILabel *)[[[[[[_agreeAgb subviews] lastObject] subviews] objectAtIndex:2] subviews] objectAtIndex:1]).text = @"Bar";

但它在objectAtIndex上崩溃了

除了制作定制的UISwitch之外,还有其他方法可以做到这一点吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-09-13 18:13:34

永远不要使用这种黑客技术来修改内置的UIControls。将来,如果控件的实现在iOS的连续更新中发生变化,它们可能会停止工作。

如果你想用你自己的文本定制UISwitch,你可以在你的新文本中使用UISegmentedControl。例如,如果您想要获取用户的性别,而不是更改UISwitch的on和off标签文本,您可以使用带有两个项目“男性”和“女性”的分段控件。

票数 6
EN

Stack Overflow用户

发布于 2011-09-13 18:07:48

你没有说是哪个objectAtIndex:导致了崩溃,但无论如何,这都是没有意义的:UISwitch目前不允许定制标签。

票数 0
EN

Stack Overflow用户

发布于 2013-06-07 17:34:44

现在有了一个更好的解决方案。任何需要自定义开关的人都应该检查https://github.com/domesticcatsoftware/DCRoundSwitch

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7400011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档