视图和Storyboard
来源:互联网 发布:亚盛医药 知乎 编辑:程序博客网 时间:2024/06/07 01:40
一.创建用户界面:
.xib
文件.storyboard
文件
二.定义主用户界面:
三.展示多个.xib文件
- 创建一个视图(或者说窗口)控制器(
NSWindowController
)和.xib文件; - 创建视图控制器实例对象;
- 使用
showWindow(sender: AnyObject?)
和close()
方法来打开和关闭.xib文件
AppDelegate.swift文件
import Cocoa@NSApplicationMainclass AppDelegate: NSObject, NSApplicationDelegate { @IBOutlet weak var window: NSWindow! var windowController=SecondController(windowNibName: "SecondController") func applicationDidFinishLaunching(aNotification: NSNotification) { } func applicationWillTerminate(aNotification: NSNotification) { } @IBAction func openWindow(sender: NSButton) { windowController.showWindow(sender) }}
SecondController.swift文件
import Cocoaclass SecondController: NSWindowController { override func windowDidLoad() { super.windowDidLoad() } @IBAction func closeWindow(sender: AnyObject) { self.close() }}
四.使用Storyboard
Storyboard(故事板)由两部分组成:
- Scenes:展示你应用界面的窗口
- Segues:定义场景之间的转场
当场景进行切换的时候,会调用下面的方法:
func prepareForSegue(segue: NSStoryboardSegue, sender: AnyObject?)
在场景间传递数据:
- 在第一个场景中,创建
prepareForSegue
方法,使用segue.destinationViewController
来获取第二个场景的视图控制器名字,给representedObject属性分配一个值。 - 在第二个场景中,声明一个变量来接收从第一个场景传过来的值,对
representedObject
进行拆包取值。
ViewController.swift代码
import Cocoaclass ViewController: NSViewController { @IBOutlet weak var textInput: NSTextField! override func viewDidLoad() { super.viewDidLoad() print("viewController-viewDidLoad") } override var representedObject: AnyObject? { didSet { } } override func prepareForSegue(segue: NSStoryboardSegue, sender: AnyObject?) { let secondScene=segue.destinationController as! First_secondView secondScene.representedObject = textInput.stringValue }}
First_secondView.swift代码
import Cocoaclass First_secondView: NSViewController { @IBOutlet weak var infoDetail: NSTextField! override func viewDidLoad() { super.viewDidLoad() print("First_secondView-viewDidLoad") infoDetail.stringValue=self.representedObject! as! String }}
效果如图:
0 0
- 视图和Storyboard
- 窗口、视图和Storyboard
- StoryBoard 视图切换和传值
- StoryBoard 视图切换和传值
- storyBoard中的视图控制器和自定义视图控制器连接
- Storyboard教程-创建Tab Bar控制器和Web视图
- IOS编程教程:storyboard创建标签栏和网页视图
- 使用StoryBoard来建立导航控制器和表视图
- storyboard内设置视图属性(圆角和边框)
- storyBoard和用segue切换视图的方法
- storyboard取得视图控制器
- storyboard取得视图控制器
- ios storyboard 视图跳转
- IOS StoryBoard视图切换
- storyboard Navigation 中间视图
- IOS使用视图控制器和视图(七) NavigationController 的使用(基于storyboard)
- 获取Storyboard中的视图控制器
- 从storyboard加载视图控制器
- Android中的ListActivity
- Commons-Email 简单教程
- 获取listview滚动的距离
- bcg库使用心得两则
- Python的re(正则表达式)模块学习笔记
- 视图和Storyboard
- sscanf()
- PHP中9大缓存技术总结
- Java由先序序列和中序序列还原二叉树
- http://www.cnblogs.com/warrior/p/3615393.html
- 域名重定向后有的地址访问成功,有的失败报301
- c++非可变序列算法
- 旭说数据结构之二叉树
- cocoapods是神马