Swift学习之UI开发初探

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

概述

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上。

代码如下:

  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进行编程。

点击这里获取本文的Demo

整理自泰然网(作者:ZeroYang)

 

责任编辑:闫佳明 来源: tairan
相关推荐

2015-04-17 16:07:11

swiftOC

2021-10-18 10:14:26

鸿蒙HarmonyOS应用

2013-07-24 18:14:36

Android开发学习Android UIButton

2011-06-16 10:25:29

AndroidAIR

2013-07-24 18:02:40

Android开发学习Android UIRadio、Check

2015-06-23 15:48:41

Swift 2.0iOS9

2014-09-26 09:49:48

SwiftObjective-C

2010-09-25 13:09:39

UISymbian

2017-01-15 18:32:39

Openresty架构性能

2011-08-01 18:27:58

iPhone开发 UISearchBa

2022-04-27 08:37:54

系统Linux

2011-04-14 10:05:16

BlackBerry

2011-04-14 10:03:32

UI组件BlackBerry

2014-07-21 09:43:57

2010-10-09 15:01:27

PhoneGapiPhoneAndroid

2012-03-16 13:43:29

2013-11-20 14:56:40

iOS 7.1优化

2011-09-08 10:41:12

Node.js

2019-11-11 15:52:15

KVMLinuxQemu

2015-07-30 10:42:38

SwiftUIButton
点赞
收藏

51CTO技术栈公众号