zoukankan      html  css  js  c++  java
  • xcode 4.2及以上 通过 empty application 构建 window base application 方法

    XCode 4 以后,项目模版中没有了 Window-based Application,跟它比较接近的项目模版是 Empty Application. 如下图的选择:

    我们想建一个 Window-based Application,需要在 Empty Application 基础上做一些设置。

    下面是操作步骤,

    新建一个 Empty Application

    默认的 Empty Application 项目包含下面文件

    创建 MainWindow.xib

    新建一个 window类型的xib,命名为:MainWindow.xib, 如下图

    新建好 MainWindow.xib 后

    指定 MainWindow.xib 的 File‘s Owner的所属类为 UIApplication。如下图,

    从Libray中拖动一个 Object 到界面上

    指定刚刚拖入的Object的所属类为 应用的 AppDelegate, 这里是 WBAppAppDelegate,如下图:

    设置好了后,Object 会立即变成 App App Delegate的名字。

    把 MainWindow.xib的 File's Owner 的 delegate 跟 我们刚刚建立的 App App Delegate 建立关联:

    关联的拖动是在 Show the Connections inspector 中的,即最右边的那个

    修改 WBAppAppDelegate.h 文件,把 window 暴露给 xib 文件, 即增加IBOutlet 属性

    修改前代码:

    @property (strong, nonatomic) UIWindow *window;

    修改后代码:

    @property (strong, nonatomic) IBOutlet UIWindow *window;

    然后需要在.m文件进行如下修改:

    把原来的代码

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    {

        self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

        // Override point for customization after application launch.

        self.window.backgroundColor = [UIColorwhiteColor];

        [self.windowmakeKeyAndVisible];

        returnYES;

    }

    修改成以下的形式

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    {

        //self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

        // Override point for customization after application launch.

        self.window.backgroundColor = [UIColorwhiteColor];

        [self.windowmakeKeyAndVisible];

        returnYES;

    }

    把 App Delegate 的 window 跟界面上的Window捆绑

    设置 应用的主界面

    到此我们就建立了 Window-base Applicaiton。

    为了这里的简单演示,我们这里在 MainWindow.xib 文件上放一个有文字的标签,可以一目了然的看到执行效果:

  • 相关阅读:
    数学是最好的语言
    人类的语言--自然语言--》逻辑语言
    为什么大脑喜欢看图?
    思考是调用大脑存储的上下文对输入信息进行处理的过程
    Redis的相关问题总结
    TP5 关联模型使用(嵌套关联、动态排序以及隐藏字段)
    array_column 函数, 以及在PHP5.5之下的替代方法
    thinkphp在app接口开发过程中的通讯安全认证
    PHP开发APP接口实现--基本篇
    分布式与集群的区别是什么?
  • 原文地址:https://www.cnblogs.com/rollrock/p/2777845.html
Copyright © 2011-2022 走看看