• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 使用来自 XIB 的自定义 NSView/UIView 子类?

[复制链接]
菜鸟教程小白 发表于 2022-12-12 12:06:52 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

好的,这听起来可能很基本(尤其是对于编写了数万个 Objective-C 代码的人来说),但我一直试图避免这一切......或者只是调整现有的解决方案。结果?我从来没有学会如何做这样简单的事情。

所以,这是我的超简单方案:

  • 我想创建一个自定义 NSView(假设是一个包含图像和文本的简单 View ),我可以在 Interface Builder 中分配它(采取一个 NSView 元素并将其类设置为 MYCustomView - 仅此而已 - 没有更复杂的)

  • 我知道我可以编写一个 NSView 子类并让它以编程方式在 drawRect: 中绘制我的所有元素以及所有这些 - 但我绝对不会找出其中的任何一点。

  • 我想要的是在 Interface Builder 中简单地绘制 View (在我们的示例中,使用“占位符”图像和文本字段),能够将其用作我们 的“基础” NSView 子类,并且还维护指向 View 中两个元素的指针,以便我可以通过编程方式访问它们。

我知道这是可行的——我不是在问这个。我需要的是一个-简单的演练。有什么可以指点我的吗?

用...单行改写问题:

如何将 drawRect: 中的编程方法(在 99.9% 的 NSView 子类中看到)替换为取自 XIB 的布局?


附言

(A) 相信我,这一定是我第 100 次阅读 NSViewController 和所有这些,但没有使用它们,可能意味着我还没有找到使用它们的意义...

(B) 请不要用“你试过什么”的问题向我开枪。随着时间的推移,我尝试了很多东西,有时我以某种方式做到了。然而,我总是觉得我刚刚设法开始工作,这是一件糟糕的、一团糟的事情。不多也不少。我只想知道是否有关于上述简单场景的简单教程。

(C) 如果我得到一个实际的解释性答案,我保证我会自己重新发布。您简直无法相信有多少经验丰富的 Cocoa 开发人员在处理这个问题时遇到了严重的问题……



Best Answer-推荐答案


我也一直想要“自定义” Storyboard类!

可能不完全回答你的问题,但这正是我们现在在 iOS 中的做法:只使用容器 View 。

完整的超长教程:https://stackoverflow.com/a/23403979/294884

现在 iOS 中的一切都是容器 View 。

我们所做的只是有一个场景,然后复制它:然后改变颜色或你描述的任何东西。

这是在此浏览器窗口后面打开的 Storyboard中的文字示例!

enter image description here

注意小类/场景的东西,我们只是复制它。请注意,正如您所说,在示例中它是略微定制的。它们都是同一个类(它恰好被称为“BookBist”){“bist”==“bouncy list”btw}

那么正如我所说的容器 View 是 secret ,因为,正是出于这个目的,这就是为什么苹果最终引入了“容器 View ”。

(顺便说一句,关于那个长容器 View 教程。向下搜索如果你想要(比如)一个表格 Controller 或页面 View Controller 而不是 UIViewController 怎么办?这是制作容器 View 时的关键技巧! 可笑的是,当您在容器 View 中拖动时,Apple 会为您提供“默认”VC;当然,您永远不会想要这样;在手头的示例中,我将连接到容器 View 的小型 BookBist 场景放在需要它们的任何地方。)示例.. .

enter image description here

现在,我 10000% 明白你在问什么,并且一直想自己知道答案!

对于使用 HALF 的答案,正如我所说,“复制场景”以便在现代 Storyboard中完美运行。我很欣赏这很糟糕,因为你想要的是一个预制件,就像在任何游戏引擎中一样,例如 Unity3D,对吧?我也是!

但请注意,您的答案的另一半肯定是“容器 View 魔术”——“一切都是”现在 iOS 中的容器 View ,事实上,Apple 终于将它们放入其中,以合理的方式完成您所做的事情描述。

关于ios - 使用来自 XIB 的自定义 NSView/UIView 子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26355112/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap