在我的view中有3個Button,然後把按鈕添加到數組中,這樣就可以獲取:
for (i = 0; i < 3; i++)
{
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[view addSubview:button];
[_buttons addObject:button];
}
如果在數組中關聯按鈕,修改按鈕圖片,屏幕上的按鈕背景並沒有改變:
UIButton* button = [_buttons objectAtIndex: 0];
[button setImage:thumb forState:UIControlStateNormal];
後來我在subview中用loop循環實現了修改按鈕圖片,不知道有沒有更好的方法?
for (UIView* subView in ((UIView*)[self.view.subviews objectAtIndex:0]).subviews){
if ([subView isKindOfClass:[UIButton class]]){
UIButton *button = (UIButton*)subView;
if (button.tag == self.selected){
[button setImage:thumb forState:UIControlStateNormal];
}
}
}
常見的原因是你的數組沒有初始化。Objective C這種情況不會報出異常,相反,系統會無視添加的調用。當獲取items結束時會返回空值。
添加這行到viewDidLoad方法
中:
_buttons = [NSMutableArray array];
應該就能解決了