【发布时间】:2015-10-09 19:12:08
【问题描述】:
我在一个视图中放置了 6 个按钮并尝试相应地更改背景颜色:
- (IBAction)btnPressed:(UIButton *)sender {
for(UIButton *btn in sender.superview){
[btn setBackgroundColor:[UIColor whiteColor]];
}
[sender setBackgroundColor:[UIColor blackColor]];
}
以下错误消息: [UIView countByEnumeratingWithState:objects:count:]:无法识别的选择器发送到实例 0x174191d30 2015-07-20 17:12:00.853 Raymio [20370:2209236] *** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[UIView countByEnumeratingWithState:objects:count:]:无法识别的选择器发送到实例 0x174191d30”
我确实收到了一个编译器警告,提醒这可能会发生,但我这样让发件人超级视图不正确吗?
编辑:也许我误解了某事。我有一个视图控制器(带有主视图 obv)。在那个 vc 中我有很多视图,包括我有 6 个按钮的视图。我只想获得该特定视图中的 6 个按钮,因此我试图获得发件人的超级视图,以为我得到了我用来放置 6 个按钮的视图。
【问题讨论】:
-
嗯,你不能遍历单个视图?
-
@davidcao 我不确定这是修辞还是什么。无论如何,我在单个视图中迭代 x 个按钮?
标签: ios objective-c