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 文件上放一个有文字的标签,可以一目了然的看到执行效果:

  • 相关阅读:
    Java利用Base64编码和解码图片文件
    SQL查询结果列拼接成逗号分隔的字符串:group_concat
    两个正则表达式:匹配固定电话号码,匹配手机号码
    IDEA导入Junit jar包,在JavaSE的Module中使用Junit测试
    如何正确遍历删除List中的元素(普通for循环、增强for循环、迭代器iterator、removeIf+方法引用)
    Java Springboot 根据图片链接生成图片下载链接 及 多个图片打包zip下载链接
    fastjson List<> 转Json , Json 转List<>
    PHP结合memcacheq消息队列解决并发问题
    Redis与Memcached的区别
    yii2 中excel表导出
  • 原文地址:https://www.cnblogs.com/rollrock/p/2777845.html
Copyright © 2011-2022 走看看