【发布时间】:2015-05-22 10:43:53
【问题描述】:
我正在尝试将 2 segments 添加到 array,然后循环遍历其子视图。这是我的代码:
NSArray *myArray = [[NSArray alloc] initWithObjects:[self.segment.subviews objectAtIndex:0],
[self.dataSegmentedControl.subviews objectAtIndex:1], nil];
for (id innerView in myArray) // I tried "myArray.subviews" but it didn't let me do ".subviews"
{
if ([innerView isKindOfClass:[UILabel class]]) {
...
}
}
当我在if statement 中插入NSLog 时,我没有得到任何输出。我能做些什么来解决这个问题?:
【问题讨论】:
-
[self.segment.subviews objectAtIndex:0]和[self.dataSegmentedControl.subviews objectAtIndex:1]的值是多少?也许UILabel也不是? @杰西卡 -
我认为他们的子视图是
-
以下工作:
for (UIView *v in [[[segment subviews] objectAtIndex:0] subviews])但我只需要在 2 个段上进行。 -
你想完成什么?
-
请记住,尝试深入了解标准控件的私有子视图结构只会在每次 iOS 更新和结构更改时导致错误和崩溃。如果控件没有通过提供的 API 提供您需要的自定义,那么正确的解决方案是编写或找到一个自定义控件来满足您的需要。
标签: ios objective-c nsarray uisegmentedcontrol for-in-loop