gpt4 book ai didi

cocoa - iPhone 上的 DrawRect 与 Mac 上的比较

转载 作者:行者123 更新时间:2023-12-03 16:24:07 26 4
gpt4 key购买 nike

我是一位经验丰富的 iPhone 开发人员,开始开发我的第一个 Mac 应用程序。真正让我失望的一件事是 UIView 和 NSView 之间的差异。看来我无法像使用 UIView 那样通过界面生成器设置 NSView 的背景颜色。我似乎也无法通过简单地向其发送 setBackgroundColor: 消息来做到这一点。我见过的所有示例都在 NSView 的子类中重写了 drawRect: 。这真的是唯一的方法吗?这里的概念差异是什么?为什么会这样?注意:我只是想将背景颜色设置为默认灰色。

最佳答案

回复:亚历克斯的回答:

这不仅是因为它更老了,而且是因为它更老了。或者更确切地说;……并不是它更旧了。事实上,UIKit更简单。 UIView 是一个比 NSView 更不通用的构造; Apple 在 iPhone 上插入内容丰富的应用程序的一般方法是使用 OpenGL 或 Core Animation,总体上将 UIView 降级为简单的容器内容。在这种情况下,setBackgroundColor: 很有用。

另一方面,在 Mac 上,NSView 是一个高度通用的界面元素,对于大多数用途来说,setBackgroundColor: 是完全不必要的。如果您使用 Mac 并更改背景颜色,十有八九这要么是因为您正准备自己绘制用户界面元素,要么您正在做的事情很可能不会受到 AHIG 的宽恕。

总结:

除了子类化它之外别无他法。 (NSView 是为了子类化而设计的,UIView 是为了即插即用而设计的。)

关于cocoa - iPhone 上的 DrawRect 与 Mac 上的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3040302/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com