如何修改UISwitch的text?

FlyLolo
全栈领域优质创作者
博客专家认证
2012-02-29 01:08:14
网上一搜都是这样说的:

-------------------------------

为要更改Text的UISwitch建立IB连接:例如mySwitch,在代码中改变文字:

((UILabel *)[[[[[[self.mySwitch subviews] lastObject] subviews] objectAtIndex:2] subviews] objectAtIndex:0]).text = @"Foo";

((UILabel *)[[[[[[self.mySwitch subviews] lastObject] subviews] objectAtIndex:2] subviews] objectAtIndex:1]).text = @"Bar";

-------------------------------

全是一样,按照这个试了一下,报错 数组越界

这个怎么做
...全文
548 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
closewbq 2012-05-17
  • 打赏
  • 举报
回复
自定义!!!!!
ManInsane 2012-05-15
  • 打赏
  • 举报
回复
遍历UISwitch的视图树,输出为
UISwitch:UIControl
-UIView:UIResponder
-UIView:UIResponder
没有了
UISwitch:UIControl
-_UISwitchSlider:UISlider
--UIImageView:UIView
--UIImageView:UIView
--UIView:UIResponder
---UILabel:UIView
---UILabel:UIView
--UIImageView:UIView
所以这个方法是行不通了,换衍生或自定义?
Bannings 2012-03-02
  • 打赏
  • 举报
回复
if (self.numberOfSegments) {
for (id seg in [self subviews]) {
for (id label in [seg subviews]) {
if ([label isKindOfClass:[UILabel class]]) {
UILabel *temp = label;
[temp setText:@"text"];
}
}
}
}
lzero13199 2012-03-01
  • 打赏
  • 举报
回复
貌似是只能自己定义、、
相奇 2012-02-29
  • 打赏
  • 举报
回复
uiswich
内部的subviews 好像没有

你实在要用就自己自定义算了。功能一样能实现,效果就差了一点就是。。。

表示无力。。。


29,031

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧