iOS开发技巧 - 使用Alerts和Action Sheets显示弹出框
解决方案:
(Swift)
使用UIAlertController类
(Objective-C)
使用UIAlertView类
代码:
(Swift)
import UIKit class ViewController: UIViewController { // 1. define the variable that will hold our alert controller var controller:UIAlertController? override func viewDidLoad() { super.viewDidLoad() // 2. start constructing a simple alert view controller using the alert view style controller = UIAlertController(title: "Title", message: "Message", preferredStyle: .Alert) // 3. simply print out a text to the console when pressed let action = UIAlertAction(title: "Done", style: UIAlertActionStyle.Default, handler: { (paramAction:UIAlertAction!) in println("The Done button was tapped") }) // 4. add the action that we created to the alert controller controller!.addAction(action) } override func viewDidAppear(animated: Bool) { super.viewDidAppear(animated) // 5. present the alert controller self.presentViewController(controller!, animated: true, completion: nil) } }
(Objective-C)
#import "ViewController.h" @interface ViewController () <UIAlertViewDelegate> @end @implementation ViewController ... - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; self.view.backgroundColor = [UIColor whiteColor]; NSString *message = @"Are you sure you want to open this link in Safari?"; UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Open Link" message:message delegate:self cancelButtonTitle:@"No" otherButtonTitles:@"Yes", nil]; [alertView show]; } - (void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { NSString *buttonTitle = [alertView buttonTitleAtIndex:buttonIndex]; if ([buttonTitle isEqualToString:@"Yes"]){ NSLog(@"User pressed the Yes button."); } else if ([buttonTitle isEqualToString:@"No"]){ NSLog(@"User pressed the No button."); } }
技术改变世界