关闭

iOS项目开发实战(Swift)—Button和Alert学习

5037人阅读 评论(2) 收藏 举报
分类:

1.相关代码如下

iOS9.0中,苹果官方推荐使用UIAlertViewController取代之前UIAlertView,使用UIAlertView在Xcode7中会出现警告。

ViewController.swift代码如下:

import UIKit

class ViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        let button1 = UIButton()
        let button2 = UIButton()
        button1.frame = CGRectMake(50, 50, 100, 30)
        button1.setTitle("Alert", forState: UIControlState.Normal)
        button1.backgroundColor = UIColor.blackColor()
        button1.addTarget(self, action: "AlertClicked:", forControlEvents: UIControlEvents.TouchUpInside)
        self.view.addSubview(button1)
        
        button2.frame = CGRectMake(50, 100, 100, 30)
        button2.setTitle("ActionSheet", forState: UIControlState.Normal)
        button2.backgroundColor = UIColor.blackColor()
        button2.addTarget(self, action: "ActionSheetClicked:", forControlEvents: UIControlEvents.TouchUpInside)
        self.view.addSubview(button2)
        
        
    }
    //UIAlertController和UIAlertAction的使用
    func AlertClicked(sender: AnyObject){
        let alertcontroller = UIAlertController(title: "Clicked", message: "我是Alert", preferredStyle: UIAlertControllerStyle.Alert)
        
        let okAction = UIAlertAction(title: "确定", style: UIAlertActionStyle.Default, handler: nil)
        
        let cancleAction = UIAlertAction(title: "取消", style: UIAlertActionStyle.Cancel, handler: nil)
        
        //将action添加到视图控制器中
        alertcontroller.addAction(okAction)
        alertcontroller.addAction(cancleAction)
        //最后要呈现出视图控制器,否则报错error:Attempting to load the view of a view controller while it is deallocating is not allowed and may result in undefined behavior
        self.presentViewController(alertcontroller, animated: true, completion: nil)
    }
    
    func ActionSheetClicked(sender: AnyObject){
        let alertcontroller = UIAlertController(title: nil, message: nil, preferredStyle: UIAlertControllerStyle.ActionSheet)
        
        let okAction = UIAlertAction(title: "拍照", style: UIAlertActionStyle.Default, handler: nil)
        
        let selectAction = UIAlertAction(title: "从手机相册选择", style: UIAlertActionStyle.Default, handler: nil)
        
        let cancleAction = UIAlertAction(title: "取消", style: UIAlertActionStyle.Cancel, handler: nil)
        
        alertcontroller.addAction(okAction)
        alertcontroller.addAction(selectAction)
        alertcontroller.addAction(cancleAction)
        //呈现出视图控制器
        self.presentViewController(alertcontroller, animated: true, completion: nil)

    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    
    
}


2.command+R成功运行

点击Alert按钮之后,如下图:



点击ActionSheet按钮之后,如下图:(刚好看到微信修改头像是这种操作,所以做成这样)


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:258995次
    • 积分:3855
    • 等级:
    • 排名:第8509名
    • 原创:147篇
    • 转载:13篇
    • 译文:0篇
    • 评论:59条
    博客专栏
    LeetCode

    文章:48篇

    阅读:23367
    关于我
    最新评论