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

  • 相关阅读:
    jvisualm 结合 visualGC 进行jvm监控,并分析垃圾回收
    linux 查看服务器cpu 与内存配置
    arthas 使用总结
    selinux contexts 安全上下文的临时更改
    Android 8.1 Doze模式分析(五) Doze白名单及Debug方式
    Window 任意窗口置顶软件Window TopMost Control
    Android ApkToolPlus一个可视化的跨平台 apk 分析工具
    SVN Please execute the 'Cleanup' command.
    Android 如何在64位安卓系统中使用32位SO库
    Android cmd命令查看apk是32位还是64位?
  • 原文地址:https://www.cnblogs.com/rollrock/p/2777845.html
Copyright © 2020-2023  润新知