zoukankan      html  css  js  c++  java
  • Swift UI

    概述

    Apple近日发布了Swift编程语言,Swift是供iOS和OS X应用编程的新编程语言。相信很多开发者都在学习这门新语言。
     
    废话不多说,下面我就来学习使用Swift创建一个简单的UI应用程序。
     
     
    效果如下:
     
    开发环境
    Xcode6-beta 
     
    iOS 8
     
    创建工程
    1. Choose File > New > Project > (iOS or OS X) > Application > your template of choice.
     
    此处选择 Single view Application。
     
    2. Click the Language pop-up menu and choose Swift. 
     
    添加基本控件
    在ViewController.swift文件中进行编码,该文件类似Objective-C的ViewController.m。
     
    UILabel
    UILabel 控件常用于显示文本标签。
     
    下面我们来创建一个label, 查看UILabel类发现其继承于UIView, NSCoding。
     
    可以通过类似创建view的方法,设置大小和lebel的text,通过addSubview方法将其加到当前view上。
     

    代码如下:

    1. let label = UILabel(frame:CGRect(origin: CGPointMake(10.0, 50.0), size: CGSizeMake(150,50)))//let 是Swift 表示常量的关键字 
    2. label.text = "This is a Label" 
    3. self.view.addSubview(label) 

    UILabel创建参数使用了别名,这点像Object-C。

     
    UIButton
    UIButton 控件常用于按钮。
     
    下面我们来创建一个button按钮,并设置它的UIControlEvents.TouchUpInside事件的处理,查看UIButton类发现其继承于UIControl, NSCoding。
     
    可以通过类似创建view的方法,指定位置和大小创建一个按钮,然后设置按钮的titile,设置按钮的背景色,并设置按钮的touch事件。
     
    最后通过addSubview方法将其加到当前view上。
     
    代码如下:
    1. let btn = UIButton(frame:CGRect(origin: CGPointMake(10.0, 110.0), size: CGSizeMake(150,50))) 
    2. btn.setTitle("button", forState: UIControlState.Normal) 
    3. btn.backgroundColor = UIColor.redColor() 
    4. btn.addTarget(self, action: "buttonClick:", forControlEvents: UIControlEvents.TouchUpInside) 
    5. self.view.addSubview(btn) 
     
    buttonClick方法实现如下:
    1. func buttonClick(sender: UIButton!){ 
    2.   
    3.     } 
    UIButton后面的 ”!“ 意味着,sender可以是由UIButton继承来的任意子类。
     
    UIAlertView
    UIAlertView 常用于弹出对话框,下面我们来创建一个alert。
     
    UIAlertView类继承于UIView,我们先创建了一个alert,然后设置alert的title、message、button、delegate。
     
    然后调用UIAlertView的show方法,显示alert。
     
    我们是在button的touch回调事件中处理alert的创建和显示的。在buttonClick方法中添加如下代码:
    1. var alert = UIAlertView() 
    2. //直接这样创建有bug 
    3. //var alert = UIAlertView(title: "alert", message: "this is an alert", delegate: self, cancelButtonTitle: "cancel") 
    4. alert.title = "alert" 
    5. alert.delegate = self 
    6. alert.addButtonWithTitle("cancel") 
    7. alert.message = "this is an alert" 
    8. alert.show() 
    delegate和self,依然有Object-C的影子。
     
    修改ViewController的声明,加入UIAlertViewDelegate
    1. class ViewController: UIViewController, UIAlertViewDelegate 
     
    实现alert的delegate方法,处理button的click事件。
    1.  //处理alert 的button click 
    2. func alertView(alertView: UIAlertView!, clickedButtonAtIndex buttonIndex: Int){ 
    3. println("buttonIndex:(buttonIndex)") 
    4.     } 
     
    总结
    Swift 的UIKit API接口和 Objective-C的API接口总体上保持一致,熟悉原来的UIKit接口的话,上手Swift UI开发应该很快。
     
    可以通过文档和API手册查看各Objective-C的API 如何使用Swift 的API进行编程。
     
    感谢分享
  • 相关阅读:
    课后作业
    动手动脑
    原码,补码,反码
    CodingSouls团队项目冲刺-个人概况(7)
    《人月神话》阅读笔记03
    数据库学习
    家庭小账本——数据库的编写与测试
    家庭小账本——适配器的编写与测试
    UI高级组件
    UI高级组件
  • 原文地址:https://www.cnblogs.com/isItOk/p/5393574.html
Copyright © 2011-2022 走看看