當我點擊確定按鈕的UIAlertView,我需要改變視圖的背景顏色,其默認顏色是白色,所以每次用戶點擊確定,我需要兩種顏色,白色和紅色例如之間交替:比較兩個UIColors是不是第一次工作
-(void)changeColor{
if([self.view.backgroundColor isEqual: [UIColor whiteColor]]){
self.view.backgroundColor=[UIColor redColor];
}else {
self.view.backgroundColor=[UIColor whiteColor];
}
}
的問題是,在第一次點擊OK,顏色應該變成紅色,但是它沒有得到紅,所以我需要第二次單擊確定按鈕以紅色顯示背景顏色。我錯過了什麼讓顏色從第一次改變?
這是alertView:didDismissWithButtonIndex
委託方法:
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex{
if (buttonIndex==0) {
//NSLog(@"It's Ok button which has been clicked");
//Do whatever you want, commonly call to another function like so:
[self changeColor];
}else
if (buttonIndex==1) {
//NSLog(@"It's Cancel button which has been clicked");
}
}
您確定視圖的背景顏色是以「[UIColor whiteColor]」開始的嗎?如果不是,那麼第一次點擊會使它變成白色,然後第二次點擊會使它變成紅色。 – mttrb
是的,它由IB配置爲白色,所以它開始白色 – Luca