2010-03-11 66 views
20

我有這樣的代碼:如何將按鈕添加到現有的UIActionSheet?

UIActionSheet *actionSheet = [[[UIActionSheet alloc] 
       initWithTitle:@"Illustrations" 
       delegate:self 
       cancelButtonTitle:@"Cancel" 
       destructiveButtonTitle:nil 
       otherButtonTitles: @"ABC", @"XYZ", 
       nil] autorelease]; 
UIImage *image = // whatever, snip 
if (image != nil) 
{ 
    [actionSheet addButtonWithTitle:@"LMNOP"]; 
} 

和它有條件地將我的LMNOP按鈕的偉大的工作。

...在取消按鈕後。

我該如何使用條件按鈕構建我的動作表?可悲的是,我不能這樣做:

UIActionSheet *actionSheet = [[[UIActionSheet alloc] 
     // ... etc. 
     otherButtonTitles: someMutableArray 
     // ... etc. 

因爲這肯定會有所幫助。

任何想法?

謝謝!

回答

53

您可以在init方法之後添加所有按鈕。

​​
+3

啊哈!我錯過了sheet.cancelButtonIndex = ...部分;這就是我需要完成的圖片。 謝謝! – Olie 2010-03-12 15:11:29

+0

也可以使用'sheet.destructiveButtonIndex'。 – zekel 2014-06-25 16:37:22

-4

即時編碼爲iOS 4,這是使用的方法。您只需在其他按鈕部分添加您想要的按鈕標題。

UIActionSheet *phoneActionSheet = [[UIActionSheet alloc] 
              initWithTitle:@"Do you want to call or text this person?" 
              delegate:self 
              cancelButtonTitle:@"Cancel" 
              destructiveButtonTitle:@"Call"            
              otherButtonTitles:@"Text",nil];