Xcode: Cocoa应用更换MainMenu.xib好麻烦

环境Xcode 6.1。Cocoa应用,出于默认的MainMenu.xib出了一些问题,需要重写下,于是删掉再新建一个,本以为能直接用,没想到差点累出翔。自己创建的xib费了半天劲才可以在AppDelegate里拖放创建Outlet。

是这样的,Xcode默认创建的MainMenu.xib在Interface Builder中的Objects一栏中是有App Delegate这一项的,如下图:

同时AppDelegate中也已经默认连接好了MainMenu.xib中的NSWindow:

@interface AppDelegate ()@property (weak) IBOutlet NSWindow *window;@end

可是如果自己创建MainMenu.xib的话,这些都是没有的。在Interface Builder中的Objects一栏是这样:

必须在右下的Objects Library中找到一个叫Object的项目:

然后,把他手动拖到Interface Builder左侧的Objects一栏内,接着多了一个Object项目:

然后在右上的Identity Inspector中设置Class为AppDelegate:

这样,Objects一栏内终于有了熟悉的AppDelegate这一项:

接下来,把AppDelegate设置成File’s Owner,具体步骤:按住Control,然后把Placeholders中的File’s Owner拖放到下面Objects里的App Delegate,选择delegate就OK了。

终于把新建的MainMenu.xib搞成和Xcode默认创建的一样了,一切成功后,就可以继续在Interface Builder中拖放Outlet到AppDelegate中了。

如果MainMenu.xib名字变了的话,最后别忘了在工程属性中Deployment Info把MainMenu的名字改回来,或者也可以设置Info.plist中的Main nib file base name属性。

Related Posts:

  1. Cocoa: NSPasteboard获取剪贴板内的文件路径列表
  2. WPF: 调试程序出现System.Deployment.Application.InvalidDeploymentException异常
  3. Cocoa: 可以修改扩展名且有默认文件名的NSSavePanel
  4. Xcode Objective-C Code Snippets 更新1

MacOS工程替换MainMenu.xib相关推荐

  1. Unity 打包 iOS 工程 替换Native 和 Data 时出错

    当我们用unity 打包x-code 工程时,一般会打包一个新的工程然后替换原始工程的 Native和Data文件夹.但是有时候替换会出现下图的问题! 在确定没有添加unity调用ios的方法或者有需 ...

  2. 使用Swift开发一个MacOS的菜单状态栏App

    新媒体管家 点击上方"程序员大咖",选择"置顶公众号" 关键时刻,第一时间送达! 下面开始介绍如何使用Swift开发一个Mac Menu Bar(Status ...

  3. MacOS开发-带有动画的窗口内容切换

    MacOS开发-带有动画的窗口内容切换 1.切换窗口内容效果 根据需求,窗口内容需要切换,且要求带有动画效果.实现效果如下图所示: 2.实现 思路:程序只有一个window,通过在window的con ...

  4. iosxib 设置图片_修改xib 默认加载图片的路径

    问题描述:项目组件化重构的时候,主工程的中xib 中引用了图片(图片是放在子工程中),但是不能显示. 问题原因:主工程Xib 加载的图片访问默认的是 main Bundle 中的资源,图片是子工程的F ...

  5. 黑苹果MacOS安装教程

    MacOS 黑苹果安装步骤 安装总览 安装前的准备 磁盘分区划分 U盘镜像制作 替换/创建Clover EFI文件 安装MacOS 安装完成 常见问题 安装总览 接下来,你将根据步骤完成黑苹果的安装. ...

  6. Cocoa 数据绑定 bind 教程

    Cocoa数据绑定 MVC架构编程模式中,Controller负责将Model模型数据更新到View视图,同时当用户对视图View数据做了修改后,还需要Controller将变换的数据更新到Model ...

  7. mac os之监听触摸板(捏合、旋转、三指)

    文章目录 前言 一.创建工程实例 二.监听事件 1.捏合事件 步骤一 步骤二 2.捏合事件,以中心为坐标 步骤一 步骤二 3.监听旋转手势 步骤一 步骤二 4.滑动手势 步骤一 步骤二 步骤三 前言 ...

  8. Flutter - desktop 无框窗口、appBar样式修改

    对于 macOS: Hide title bar on macOS with Flutter 准备工作: Mac with Xcode installed A Flutter project with ...

  9. 【IOS 开发】Objective - C 面向对象高级特性 - 包装类 | 类处理 | 类别 | 扩展 | 协议 | 委托 | 异常处理 | 反射

    一. Objective-C 对象简单处理 1. 包装类 (1) 包装类简介 NSValue 和 NSNumber : -- 通用包装类 NSValue : NSValue 包装单个 short, i ...

  10. 苹果笔记本python开发第一个程序_Xcode的第一个mac程序

    今天是第一次用Xcode,什么都不会,对于像我这种从windows c++转mac c++/obj-c/python的人,对mac下的编程可以说是一点都不了解,这篇文章也从零开始写起,记录我的coco ...

最新文章

  1. 为什么数据库连接池不采用 IO 多路复用?
  2. 基于视觉的数学公式识别算法介绍
  3. 内存泄漏normal block at
  4. 字节跳动 2019 ICME 双赛道冠军团队方案分享
  5. block的使用(六)
  6. 【面试题3】二维数组中的查找
  7. iOS网络请求之multipart/form-data提交数据
  8. 网站内链外链批量抓取工具
  9. python关于sjis编码的错误
  10. c语言上机南开100题,全国计算机三级网络技术C语言南开上机南开100题(WORD版)
  11. C#/VB.NET 合并PDF页面
  12. MATLAB计算卫星相对位置、速度和加速度
  13. navicat 1146错误
  14. 为什么我们现在不再需要杀毒软件了?
  15. 2018年6月13日任务
  16. java打印出 锟斤拷_一段java代码带你认识锟斤拷
  17. 「Nginx实战」中学到的东西用在面试上,面试官都被怼得哑口无言
  18. caffe源码学习:softmaxWithLoss前向计算
  19. 腾讯IM实战:低代码超快实现即时通讯录
  20. 免费在线接线图软件 + 示例

热门文章

  1. Pr_cc 学习笔记(二)鬼畜剪辑
  2. Steam网页版/手机端显示“短期内来自您网络的失败登陆过多,请稍后再试”
  3. 如何用 css 画一个正方体
  4. 用python查询生成国内法定节假日安排
  5. Win7忘记开机密码解决办法
  6. Zetero+zotfile+坚果云配置
  7. 【AAAI 2021】全部接受论文列表(三)
  8. yum linux-headers,CentOS下yum安装缺少kernel-headers的解决方法
  9. java万年历有农历_家庭农民历五行曰历,日历为什么叫“万年历”
  10. 转变为灰度图像的算法优化及马赛克实现代码