2012-05-20 182 views
-1

如何在按下取消按鈕時使用UIActionSheet切換視圖?如何使用UIActionSheet切換視圖?

的Xcode 4.3.2

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { 

    NSString *buttonTitle = [actionSheet buttonTitleAtIndex:buttonIndex]; 
    if ([buttonTitle isEqualToString:@"Done"]) { 
     thiredViewController *controller1 = [[thiredViewController alloc] initWithNibName:@"thiredViewController" bundle:nil]; 
     [self presentModalViewController:controller1 animated:NO]; 
    } 
} 

這段代碼什麼也不做,認爲並沒有改變,我的朋友告訴我,我不能用這種方法來改變,在新的Xcode的看法,所以我應該我用 ?

+0

- (無效)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger的)buttonIndex { 的NSString *按鈕名稱= [actionSheet buttonTitleAtIndex :buttonIndex]; if([buttonTitle isEqualToString:@「Done」])thiredViewController * controller1 = [[thiredViewController alloc] initWithNibName:@「thiredViewController」bundle:nil]; [self presentModalViewController:controller1 animated:NO]; }} – fatimah

+0

這是我的代碼 – fatimah

+1

我將你的代碼添加到你的問題並正確格式化。如果你想回答你的問題,請花些時間讓讀者方便一些,否則可能沒有人會打擾。 – Stefan

回答

0

你應該從未比較按鈕的標題來決定採取何種行動。如果您決定在其他地方更改它,但又忘記更改委託方法,該怎麼辦?如果您使用多種語言本地化您的應用,這也會變得麻煩。

UIActionSheet有一個方便的cancelButtonIndex方法,其可用於這樣的:

if (buttonIndex == actionSheet.cancelButtonIndex) { 
    //do your thing... 
} 
+0

非常感謝,但是我用來切換視圖的方法呢,它的正確與否呢?因爲它不適用於我 – fatimah

+0

編輯您的問題,更詳細地說明它如何不起作用以及實際發生了什麼。 – omz

+0

什麼都沒有發生,視圖沒有改變,我的朋友告訴我,我不能在Xcode 4.3.2中使用此代碼 – fatimah