加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

macOS 开发:NSScrollView 学习笔记

发布时间:2020-12-14 06:01:57 所属栏目:百科 来源:网络整理
导读:最近抽空看了些 macOS 开发的资料。(自嘲下:iOS 开发都不是很会,就开始搞 macOS 开发。。) 一开始觉得 macOS 和 iOS 估计差不多。但是呢,习惯 UIKit,再去碰 Appkit 这个古老的框架。只能说两者真不是一码事。。。 官方有份 NSScrollView 的教程。写的

最近抽空看了些 macOS 开发的资料。(自嘲下:iOS 开发都不是很会,就开始搞 macOS 开发。。)
一开始觉得 macOS 和 iOS 估计差不多。但是呢,习惯 UIKit,再去碰 Appkit 这个古老的框架。只能说两者真不是一码事。。。

官方有份 NSScrollView 的教程。写的挺详细。可以看下。

Xcode 里面的文档没有很多的解释。有些连默认值都不知道有没有。使用 UIKit 时,遇到问题,跳到文档里面,很多情况下会有相应解释等。但是 AppKit 的话,大部分都没有多少解释。估计又是一个历史包袱吧~

那么如何去创建一个 NSScrollView?

let scrollView = NSScrollView()
let scrollView = NSScrollView(frame: NSRect())

这个和 UIScrollView 几乎一致。

UIKit 中,我们可以通过设置 UIScrollView 的 contentSize 来进行可滑动的操作。但是呢,在 NSScrollView 里,并没有 contentSize 供我们设置,取而代之的是 documentView。当我们要使用一个 NSScrollView 的时候,需要把 conentView 指向 scrollView 的 documentView。

let contentView = NSView(frame: NSRect(x: 0,y: 0,width: 1000,height: 1000))
contentView.backgroundColor = .yellow
bgScrollView.documentView = contentView

在官方的教程中,解释的很清楚。

NSScrollView 是由 NSScrollerNSClipViewContentViewNSRulerView 构成的。这个可以选择用 IB 构建一个 NSScrollView 来查看,比较直观。

Clip View ,是一个 NSClipView。也就是 scrollView 的一个 contentView
的属性。官方的说法,负责剪切 documentView 的内容等。从 IB 的 图看到的层级,猜测 documentView 有可能就是这个 NSClipView 层级下的 view。

NSScrollView 给人的感觉,更像一个迷你窗口,然后通过滚动 documentView 来使的内容出现在窗口里面。

在使用上,一些属性配置可以见以下代码。

let scrollView = NSScrollView()
        
// scrollerStyle。overlay / legacy。 overlay 的效果,则是 scroller 背景透明,而 legacy 则是 独立出 scroller 的区域,看起来比较丑~~个人觉得                        

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读