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

原创 2015年11月20日 17:00:57

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按钮之后,如下图:(刚好看到微信修改头像是这种操作,所以做成这样)


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Attempting to load the view of a view controller while it is deallocating is not allowed and may res

UISearchController Attempting to load the view of a view controller while it is deallocating is no...

iOS开发出错whose view is not in the window hierarchy!的解决

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 一个简单的单窗口App在运行时出现错误:2016-04-...
  • mydo
  • mydo
  • 2016年04月07日 14:38
  • 10020

Attempting to load the view of a view controller while it is deallocating is not allowed and may res

Attempting to load the view of a view controller while it is deallocating is not allowed and may res...

Swift语言IOS8开发战记1.Button与Alert

大家好,本人是个Swift开发的推崇者,自Swift推出以来,关于Swift语法的书籍像雨后春笋般冒了出来,但是市面上没有一本整合Swift与IOS8开发的书籍,为广大使用Swift开发IOS8的程序...

iOS项目开发实战(Swift)—查询天气小应用

1.新建Xcode项目,创建single view application,项目名称为swift_Weather,选择语言为Swift。 2.打开Main.storyboard,新建三个控件,一个用于...

iOS项目开发实战(Swift)—代理的使用

代码中用到了代理,就是将DataRequest中解析的Json串传到ViewController中进行TableViewCell的绘制 // // Protocol.swift import Fo...

iOS项目开发实战(Swift)—初探TableView

1.UIAlertController 1)ActionSheet直接从底部弹出提示框 2)Alert直接从中间弹出提示框 3)通过UIAlertAction添加相应的属性(eg:Cancle/OK ...

iOS开发项目实战——Swift实现图片轮播与浏览

最近开始开发一个新的iOS应用,自己决定使用Swift,进行了几天之后,发现了一个很严峻的问题,那就是不管是书籍,还是网络资源,关于Swift的实在是太少了,随便一搜全都是OC实现某某某功能。就算是找...

iOS项目开发实战——Swift实现多个TableView的侧滑与切换

在Android中我们常常使用ListView来表示列表,来显示类似的呈现列表样式的结果。来到iOS中,这种控件称之为TableView。这里我们将会通过使用ScrollView和TableView结...

swift语言IOS8开发战记6.Alert&ActionSheet

今天来重点讲解一下Alert和ActionSheet的用法。Alert主要用来提示用户一些信息,而当用户除了需要看到消息之外,还需要做出反应,这时候就需要用到ActionSheet,也就是操作表。我们...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS项目开发实战(Swift)—Button和Alert学习
举报原因:
原因补充:

(最多只允许输入30个字)