os x项目改变默认加载的界面


xcode新建一个os x项目后,storyboard会默认有一个nswindow对象(window1),然后我创建了另一个nswindow对象(window2),程序初始化的时候,我想根据条件判断到底加载window1还是window2,要怎么做呢?

ios osx swift objective-c

很邪恶滴~ 9 years, 6 months ago

解决办法

  1. 自定义一个 控制器A
  2. 引入这个库 https://github.com/qzs21/NSObjectExtend 控制器A 内引入头文件
    #import NSObjectExtend.h
  3. 你加载的第一个控制器要使用 UINavigationController ,它的 rootViewController ,指向 控制器A
  4. 控制器A 内做逻辑判断,确定你需要加载的控制器,使用 UINavigationController 的扩展方法 replaceAllToViewControllerAnimated:toViewController: 条转到该控制器,跳转后, 控制器A 会被释放。

延伸

  • 控制器A 还可以实现广告页的逻辑,引导页的逻辑等等。
  • NSObjectExtend 封装了很多常用的类的扩展。可以读一下文档,很多东西都是常用的。
十三夜刹那 answered 9 years, 6 months ago

Your Answer