iPhone中的UIActionSheet与UIAlterView

UIActionSheet:
首先,在.h文件中添加Protocol,(Protocol相当于Java中的interface)
@interface ActionSheetViewController : UIViewController
<UIActionSheetDelegate>
{
...
...
}
-(IBAction) showActionSheetButtonPressed:(id) sender;
-(IBAction) showAlterViewButtonPressed:(id) sender;

在.m文件中实现showActionSheetButtonPressed 方法。
-(IBAction) showActionSheetButtonPressed:(id) sender 
{   
UIActionSheet *actionSheet = [[UIActionSheet alloc] 
  initWithTitle:@"Title"
  delegate:self
  cancelButtonTitle:@"Cancel!" 
destructiveButtonTitle:@"OK!" 
  otherButtonTitles:nil];
[actionSheet showInView:self.view];//参数指显示UIActionSheet的parent。
[actionSheet release];
}
一个IUActionSheet在用户点击Button的时调用,但是当用户选择了destructiveButton或者cancelButton后,如何处理想对应的事件呢?
在UIActionSheetDelegate中,有一个方法,
-(void) actionSheet :(UIActionSheet *) actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex;
我们需要实现这个方法就可以了。

-(void) actionSheet :(UIActionSheet *) actionSheet didDismissWithButtonIndex:(NSInteger) buttonIndex
{
//当用户按下cancel按钮
if( buttonIndex == [actionSheet cancelButtonIndex])
{
// DoSomething here.
}
//当用户按下OK按钮
if( buttonIndex == [actionSheet destructiveButtonIndex])
{
// DoSomething here.
}
}

UIAlertView:
-(IBAction) showAlterViewButtonPressed:(id) sender
{
UIAlertView *alertView = [[UIAlertView alloc] 
  initWithTitle:@"Alert Title" 
  message:@"Alter Message Content" 
  delegate:self 
  cancelButtonTitle:@"OK" 
  otherButtonTitles:nil];
[alertView show];
[alertView release];
}

UIAlterView相对于UIActionSheet简单,以为它只是一个提示用户的View而已。可以在 UIActionSheet的的处理事件 -(void) actionSheet ...中来调用UIAlterView.

你可能感兴趣的:(java,iPhone,button,interface)