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. |
iPhone中的UIActionSheet与UIAlterView
最新推荐文章于 2024-09-04 15:29:36 发布