Swift学习之UI开发初探
Swift是供iOS和OS X应用编程的新编程语言。相信很多开发者都在学习这门新语言。废话不多说,下面我就来学习使用Swift创建一个简单的UI应用程序。
AD:

概述
Apple近日发布了Swift编程语言,Swift是供iOS和OS X应用编程的新编程语言。相信很多开发者都在学习这门新语言。
废话不多说,下面我就来学习使用Swift创建一个简单的UI应用程序。
关于Swift语法,可以参考《苹果Swift编程语言快速上手入门教程》&《苹果的新编程语言 Swift 简介》
效果如下:

开发环境
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上。
代码如下:
- let label = UILabel(frame:CGRect(origin: CGPointMake(10.0, 50.0), size: CGSizeMake(150,50)))//let 是Swift 表示常量的关键字
- label.text = "This is a Label"
- self.view.addSubview(label)
UILabel创建参数使用了别名,这点像Object-C。
UIButton
UIButton 控件常用于按钮。
下面我们来创建一个button按钮,并设置它的UIControlEvents.TouchUpInside事件的处理,查看UIButton类发现其继承于UIControl, NSCoding。
可以通过类似创建view的方法,指定位置和大小创建一个按钮,然后设置按钮的titile,设置按钮的背景色,并设置按钮的touch事件。
最后通过addSubview方法将其加到当前view上。
代码如下:
- let btn = UIButton(frame:CGRect(origin: CGPointMake(10.0, 110.0), size: CGSizeMake(150,50)))
- btn.setTitle("button", forState: UIControlState.Normal)
- btn.backgroundColor = UIColor.redColor()
- btn.addTarget(self, action: "buttonClick:", forControlEvents: UIControlEvents.TouchUpInside)
- self.view.addSubview(btn)
buttonClick方法实现如下:
- func buttonClick(sender: UIButton!){
- }
UIButton后面的 ”!“ 意味着,sender可以是由UIButton继承来的任意子类。
UIAlertView
UIAlertView 常用于弹出对话框,下面我们来创建一个alert。
UIAlertView类继承于UIView,我们先创建了一个alert,然后设置alert的title、message、button、delegate。
然后调用UIAlertView的show方法,显示alert。
我们是在button的touch回调事件中处理alert的创建和显示的。在buttonClick方法中添加如下代码:
- var alert = UIAlertView()
- //直接这样创建有bug
- //var alert = UIAlertView(title: "alert", message: "this is an alert", delegate: self, cancelButtonTitle: "cancel")
- alert.title = "alert"
- alert.delegate = self
- alert.addButtonWithTitle("cancel")
- alert.message = "this is an alert"
- alert.show()
delegate和self,依然有Object-C的影子。
修改ViewController的声明,加入UIAlertViewDelegate
- class ViewController: UIViewController, UIAlertViewDelegate
实现alert的delegate方法,处理button的click事件。
- //处理alert 的button click
- func alertView(alertView: UIAlertView!, clickedButtonAtIndex buttonIndex: Int){
- println("buttonIndex:\(buttonIndex)")
- }
总结
Swift 的UIKit API接口和 Objective-C的API接口总体上保持一致,熟悉原来的UIKit接口的话,上手Swift UI开发应该很快。
可以通过文档和API手册查看各Objective-C的API 如何使用Swift 的API进行编程。
点击这里获取本文的Demo。
Swift学习之UI开发初探的更多相关文章
- Swift UI开发初探
今天凌晨Apple刚刚发布了Swift编程语言,Swift是供iOS和OS X应用编程的新编程语言.相信很多开发者都在学习这门新语言. 废话不多说,下面我就来学习使用Swift创建一个简单的UI应用程 ...
- Swift UI开发初探 (转)
原文地址:http://www.tairan.com/archives/6600 关于Swift语法,可以参考<Apple Swift编程语言入门教程> 效果如下: 开发环境 Xcode6 ...
- swift学习之UI控件(一)
// // ViewController.swift // test // // Created by chuangqu on 15/7/23. // Copyright (c) 2015年 ...
- swift学习笔记-UI篇之UIImageView
1.基本使用 将要使用的图片拖入到项目里,我这里使用的是名为“1.jpg”的图片,然后创建UIImageView,并设置要显示的图片为"1.jpg"//1. 基本使用 let im ...
- Swift学习之常用UI的使用
Swift学习之常用UI的使用 最近笔者在开始学习苹果最新的编程语言,因为笔者认为,苹果既然出了这门语言就绝对不会放弃,除非苹果倒闭了(当然这里知识一个玩笑). 所以在不久的将来,swift绝对是iO ...
- Android:日常学习笔记(8)———探究UI开发(5)
Android:日常学习笔记(8)———探究UI开发(5) ListView控件的使用 ListView概述 A view that shows items in a vertically scrol ...
- Android:日常学习笔记(7)———探究UI开发(4)
Android:日常学习笔记(7)———探究UI开发(4) UI概述 View 和 ViewGrou Android 应用中的所有用户界面元素都是使用 View 和 ViewGroup 对象构建而成 ...
- Android:日常学习笔记(8)———探究UI开发(3)
Android:日常学习笔记(8)———探究UI开发(3) 详解四种基本布局 前言 布局定义用户界面的视觉结构,如Activity或应用小部件的 UI.您可以通过两种方式声明布局: 在 XML 中声明 ...
- Android:日常学习笔记(8)———探究UI开发(2)
Android:日常学习笔记(8)———探究UI开发(2) 对话框 说明: 对话框是提示用户作出决定或输入额外信息的小窗口. 对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模式事件. 提示 ...
随机推荐
- winsock2获取网页
#define WIN32_LEAN_AND_MEAN#include <winsock2.h>#include <stdlib.h>#include <stdio.h& ...
- JavaSE学习总结第18天_集合框架4
18.01 Map集合概述和特点 Map接口概述:将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值 Map接口和Collection接口的不同 1.Map是双列的,Coll ...
- BZOJ 1820: [JSOI2010]Express Service 快递服务( dp )
dp(i,j,k)表示在处理第i个业务, 另外2个在j,k处. 第一维可以滚动... --------------------------------------------------------- ...
- KVM镜像管理利器-guestfish使用详解
原文 http://xiaoli110.blog.51cto.com/1724/1568307 KVM镜像管理利器-guestfish使用详解 本文介绍以下内容: 1. 虚拟机镜像挂载及w2k8 ...
- PowerShell入门(序):为什么需要PowerShell?
原文:http://www.cnblogs.com/ceachy/archive/2013/01/23/PowerShellPreface.html 曾几何时,微软的服务器操作系统因为缺乏一个强大的S ...
- cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(四)-马里奥平移
上一篇博文提到,程序如何获取键盘输入,也就是D键按下,程序获取到前进指令,那么获取到前进指令之后,马里奥是如何前进的呢,这篇文章我们重点讨论这个问题. 马里奥的移动,依旧是在帧刷新函数中,这个调用过程 ...
- 基于visual Studio2013解决C语言竞赛题之0203格式化输出
题目 解决代码及点评 #include <stdio.h> #include <stdlib.h> void main() { // print是输出函数,参数%s表示输 ...
- VC++中的DDX和DDV
DDX/DDV 通过使用ClassWizard向对话类添加成员变量,你可以利用ClassWizard所提供的高效特征,为对话数据交换和对话数据验证自动生成源代码,也就是人们所熟知的DDX/DDV ...
- VC之美化界面(内容覆盖十分全面,经典)
界面美化 摘要本文专题讨论VC中的界面美化,适用于具有中等VC水平的读者.读者最好具有以下VC基础: 1. 大致了解MFC框架的基本运作原理: 2. 熟悉Windows消息机制,熟悉MFC的消息映射和 ...
- ArcGIS Engine 改变线IPolyline的方向
有时候需要改变一下线的方向来组成要要的图形,可以按一下方法来变换一下. 如果看官有好的方法的话,请不吝贴上为谢! private IPolyline ChangeDirection(IPolyline ...