首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >NSSplitViewController导致包含的视图在窗口角上绘制

NSSplitViewController导致包含的视图在窗口角上绘制
EN

Stack Overflow用户
提问于 2016-04-06 15:55:10
回答 2查看 562关注 0票数 3

我试着用可可创建一个小的Finder克隆。我将在由NSSplitView控制的NSSplitViewController中放置一个源列表表视图(用作侧栏)和一个标准表视图。不幸的是,当我运行此操作时,标准表视图的白色背景将绘制在窗口的右下角,从而产生一个非圆角:

我可以通过不使用NSSplitViewController来避免这个问题,无论是使用标准的nib文件还是用故事板来获得所需的结果:

但是…我真的很想使用NSSplitViewController。有什么办法可以防止这种情况发生吗?

下面是带有项目的Xcode工作区的截图。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-02 17:48:57

我见过这样的问题,这似乎是真正的错误。但这是有解决办法的。您需要确保NSSplitViewController在视图中呈现自己,这是由CA层支持的。因此,为了在您的项目中这样做,我添加了带有容器视图的中间视图控制器。然后,我将您的拆分视图放置在这个容器视图中。最后,容器视图的父视图设置为层支持。这是一幅画:

在那之后,我可以看到一切都很好:

另一个注意事项:确保在真正需要约束之前,不要使用1000优先级的约束。我通常使用750 (我也修正了)。否则,你会收到很多关于不可满足的事情的警告。

这是你的固定项目:https://github.com/emankovski/splitviewroundcorrners

票数 3
EN

Stack Overflow用户

发布于 2016-10-15 00:39:57

确保视图层次结构中的根视图在添加到视图层次结构之前是层支持的。

举例说明。这个很管用。测试并确认在macOS 10.12塞拉利昂工作。Xcode 8.0

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
split.view.wantsLayer = true
window.contentViewController = split
split.splitViewItems = [
    NSSplitViewItem(viewController: vc),
]

但这不是。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
window.contentViewController = split
split.splitViewItems = [
    NSSplitViewItem(viewController: vc),
]
split.view.wantsLayer = true

我不知道这里发生了什么,为什么会这样。但让我来推测。

没有层支持根视图的NSWindow只是天真地绘制,没有涉及到排序器。所以他们不能掩盖角落,这样的文物就会出现。只是让他们层背将使它工作。就像尤金指出的那样。

让所有的东西都有层次感并不难。只要使根视图被层支持,那么层次结构中的每个子视图都将被层背到叶子上。(RTFM详细信息:CALayer.wantsLayer.)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36464339

复制
相关文章
MySQL只索引组织表
今天没怎么学习,简单写下MySQL里面innodb存储引擎下的索引组织表吧。
AsiaYe
2019/11/06
1.4K0
PostgreSQL中索引是否存储空值?
偶然在PostgreSQL官方文档上看到这句话:an IS NULL or IS NOT NULL condition on an index column can be used with a B-Tree index。
数据库架构之美
2021/03/16
2.4K0
Java中的深克隆和浅克隆
克隆的对象可能包含一些已经修改过的属性, 而new出来的对象的属性都还是初始化时候的值, 所以当需要一个新的对象来保存当前对象的"状态"时就要靠克隆了.
烟草的香味
2019/07/25
1.7K0
PowerBI DAX 用 SUBSTITUTEWITHINDEX 为表增加索引
在数据库的各种优化中,加索引是一种特别常见而立竿见影的优化方法。当然,在做某些事情时,也需要增加索引。
BI佐罗
2021/05/27
1.9K0
JAVA中的浅克隆和深克隆分析
浅克隆(拷贝):复制一个对象的实例,但是这个对象中包含的其它的对象还是共用的。一般用super.clone()方法,clone的对象就是浅克隆。 深克隆(拷贝):复制一个对象的实例,而且这个对象中包含的其它的对象也要复制一份。如果使用clone(),那么需要对clone方法进行重写,复制一个对象super.clone(),之后再一一对属性进行复制。这样显得非常冗余,幸好,在java中还可以通过流来实现。但是注意,对象需要实现Serializable接口。
冬天里的懒猫
2020/08/03
8720
设计模式-空对象模式
一般情况在编写代码的时候判断为空需要通过null==来判断,而这样的写法很难看,一眼看下去几百行代码,密密麻麻都是这些判断,代码很不优雅,有时还漏判还会导致空指导异常。这个问题,java的空对象模式很不错的解决方案,可以做到优雅判断。
逍遥壮士
2020/09/18
9060
领域逻辑的组织模式
“领域逻辑组织可以分为三种主要的模式:事务脚本(Transaction Script)、领域模型(Domain Model)和表模块(Table Module)”
coderidea
2022/06/08
3910
探究Java中的克隆
克隆,想必大家都有耳闻,世界上第一只克隆羊多莉就是利用细胞核移植技术将哺乳动物的成年体细胞培育出新个体,甚为神奇。其实在Java中也存在克隆的概念,即实现对象的复制。
技术小黑屋
2018/09/05
5200
漫谈模式之空对象模式
空对象模式(Null Object Pattern)是一种设计模式,用于处理对象不存在的情况,它通过返回一个空对象来代替 null 值,从而避免了空指针异常。空对象通常具有与正常对象相同的接口,但其方法体为空或返回默认值。
孟君
2023/04/09
8300
设计模式之空对象模式
空对象模式是通过实现一个默认的无意义对象来避免null值出现, 简单地说,就是为了避免在程序中出现null值判断而诞生的一种常用设计方法.
烟草的香味
2019/07/25
4480
空对象(Null)模式
一个方法返回 NULL,意味着方法的调用端需要去检查返回值是否是 NULL,这么做会导致非常多的冗余的检查代码。并且如果某一个调用端忘记了做这个检查返回值,而直接使用返回的对象,那么就有可能抛出空指针异常。
MickyInvQ
2022/05/06
6080
空对象(Null)模式
《企业应用架构模式》中的组织领域逻辑策略
今天,我们将深入研究《企业应用架构模式》一书中的关键内容——"组织领域逻辑"。特别是,我们将聚焦于处理领域逻辑复杂性时的三种策略:事物脚本、表模块和领域模型。这些策略并不互相排斥,而是在不同情境下的选择,本文将为您详细阐述这一话题。
coderidea
2023/09/24
2470
《企业应用架构模式》中的组织领域逻辑策略
「Mysql索引原理(十五)」维护索引和表-修复损坏的表
即使用正确的类型创建了表并加上了合适的索引,工作也没有结束:还需要维护表和索引来确保它们都正常工作。维护表有三个主要的目的:找到并修复损坏的表,维护准确的索引统计信息,减少碎片。
源码之路
2020/09/04
2.3K0
原型模式--克隆怪物大军
小帅就职于一家游戏公司,参与开发一款RPG游戏,他负责设计游戏里的怪物。有些大场面需要成百上千的怪物,如果用new的方法创建每一个怪物,需要初始化的参数很多,会比较耗时间,而且也比较麻烦。
zhanyd
2022/05/16
2250
原型模式--克隆怪物大军
mysql查询表的索引_MySQL查看表索引[通俗易懂]
列以什么方式存储在索引中。在MySQL中,有值‘A’(升序)或NULL(无分类)。
全栈程序员站长
2022/10/29
6.9K0
MySQL 的回表、覆盖索引、索引下推
假如age和user_name两个字段是个联合索引,我们通过age=18这个索引找到了二级索引树对应页所在的数据,但是由于user_name是模糊查询,导致了这个字段的索引失效,我们得到了二级索引的这一页中age=18的很多个数据(主键id),我们通过这些主键ID回到主键索引树里再查表里的数据,这个操作就是回表。
向着百万年薪努力的小赵
2022/12/02
1.4K0
MySQL 的回表、覆盖索引、索引下推
ANDROID 中设计模式的採用–创建型模式[通俗易懂]
在ANDROID系统的媒体路由框架中的MediaRouteProvider类就是工厂方法模式的採用。
全栈程序员站长
2022/07/07
3800
ANDROID 中设计模式的採用–创建型模式[通俗易懂]
SQL Server 重新组织生成索引
概述 无论何时对基础数据执行插入、更新或删除操作,SQL Server 数据库引擎都会自动维护索引。随着时间的推移,这些修改可能会导致索引中的信息分散在数据库中(含有碎片)。当索引包含的页中的逻辑排序(基于键值)与数据文件中的物理排序不匹配时,就存在碎片。碎片非常多的索引可能会降低查询性能,导致应用程序响应缓慢,所以在日常的维护工作当中就需要对索引进行检查对那些填充度很低碎片量大的索引进行重新生成或重新组织,但是在这个过程也需要注意一些小的细节,否则会产生错误。 正文 语法内容载自SQL Server联机
逸鹏
2018/04/11
2.7K0
SQL Server 重新组织生成索引
表驱动分为三种,分别是:直接索引、索引表、阶梯索引
表驱动分为三种,分别是:直接索引、索引表、阶梯索引。一般直接索引使用比较广泛,也容易想到。今天在网上看到了一笔试题,统计一个字符串中第一次出现且频率最高的字符。看到这道题以后,我觉得使用表驱动能很快、很容易地解决问题,下面是我使用表驱动给出的解法。
用户4766018
2022/08/19
2190
class文件中的方法表集合--method方法在class文件中是怎样组织的
        了解JVM虚拟机原理是每一个Java程序员修炼的必经之路。但是由于JVM虚拟机中有很多的东西讲述的比较宽泛,在当前接触到的关于JVM虚拟机原理的教程或者博客中,绝大部分都是充斥的文字性的描述,很难给人以形象化的认知,看完之后感觉还是稀里糊涂的。
亦山
2019/05/25
1.7K0

相似问题

Oracle:索引有组织的表,其中包含空值

10

来自不同模式的DBMS_DATAPUMP API导出/导入表

13

oracle索引组织表

22

使用DBMS_DATAPUMP应用编程接口从不同模式导出表

128

索引组织表碎片

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文