除了使用storyboard外,我们还可以使用xib来设计并创建页面。




1,下面通过一个样例来演示:


(1)点击主界面的“信息”按钮,页面切换到信息界面


(2)点击信息界面的“返回”,关闭信息界面,回到主界面


Swift - 使用xib添加新界面_界面跳转




2,UIModalTransitionStyle有四种跳转方式:


(1)CoverVertical:从底部升上来的方式


(2)CrossDissolve:快速闪现


(3)FlipHorizontal:卡片翻转形式


(4)PartialCurl:书本翻页效果




3,信息页面创建


(1)新建个Cocoa Touch Class文件


Swift - 使用xib添加新界面_html_02


(2)在接下来的窗口进行如下命名。


类(Class)命名为InfoViewController。继承(SubClass of)自UIViewController类。


同时把Also create XIB file 选项勾上,这样就能编辑新的视图界面了。


Swift - 使用xib添加新界面_当前页_03


(3)从左侧的项目组织文件可以看到多出的两个文件:InfoViewController.swift和InfoViewController.xib


(4)新创建的消息界面代码如下:




1


2


3


4


5


6


7


8


9


10


11


12


13


14


15


16


17




​import​​ ​​UIKit​


 


​class​​ ​​InfoViewController​​​​: ​​​​UIViewController​​ ​​{​


 


​override​​ ​​func​​ ​​viewDidLoad() {​


​super​​​​.viewDidLoad()​


​}​


 


​override​​ ​​func​​ ​​didReceiveMemoryWarning() {​


​super​​​​.didReceiveMemoryWarning()​


​}​


 


​//关闭当前页面,放回主界面​


​@IBAction​​ ​​func​​ ​​onBack(sender: ​​​​AnyObject​​​​) {​


​self​​​​.dismissViewControllerAnimated(​​​​true​​​​, completion: ​​​​nil​​​​)​


​}​


​}​



(5)主界面的代码如下

 


1


2


3


4


5


6


7


8


9


10


11


12


13


14


15


16


17


18


19


20


21


22


23




​import​​ ​​UIKit​


 


​class​​ ​​ViewController​​​​: ​​​​UIViewController​​ ​​{​


 


​override​​ ​​func​​ ​​viewDidLoad() {​


​super​​​​.viewDidLoad()​


 


​}​


 


​override​​ ​​func​​ ​​didReceiveMemoryWarning() {​


​super​​​​.didReceiveMemoryWarning()​


​}​


 


​//跳转到信息页面​


​@IBAction​​ ​​func​​ ​​ShowInfo​​​​(sender: ​​​​AnyObject​​​​) {​


​//实例化一个信息界面​


​let​​ ​​controller = ​​​​InfoViewController​​​​(nibName:​​​​"InfoViewController"​​​​, bundle:​​​​nil​​​​)​


​//信息界面出现的动画方式​


​controller.modalTransitionStyle = ​​​​UIModalTransitionStyle​​​​.​​​​CoverVertical​


​//界面跳转​


​self​​​​.presentViewController(controller, animated:​​​​true​​​​, completion:​​​​nil​​​​)​


​}​


​}​