Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 自动布局的麻烦。NSToolBarItem->;NSView->;NSTabView->;NSTabItem->;当语言发生变化时,按钮需要调整大小_Xcode_Cocoa_Autolayout - Fatal编程技术网

Xcode 自动布局的麻烦。NSToolBarItem->;NSView->;NSTabView->;NSTabItem->;当语言发生变化时,按钮需要调整大小

Xcode 自动布局的麻烦。NSToolBarItem->;NSView->;NSTabView->;NSTabItem->;当语言发生变化时,按钮需要调整大小,xcode,cocoa,autolayout,Xcode,Cocoa,Autolayout,我已经花了大约5个小时在这上面了,所以我非常渴望得到任何提示或建议,因为我已经用尽了修改我能想到的每一个约束条件 注意,我严格通过Interface Builder添加约束。我不认为我需要以编程的方式添加任何内容,但我对此持开放态度 这是我当前的对象层次结构: NSToolBarItem->NSView->NSTabView->NSTabItem->nsbutton 我的约束条件分别为: NSTabView被约束为在容器的四个侧面都有0个常量NSView NSTabItem没有大小,它只是具有N

我已经花了大约5个小时在这上面了,所以我非常渴望得到任何提示或建议,因为我已经用尽了修改我能想到的每一个约束条件

注意,我严格通过Interface Builder添加约束。我不认为我需要以编程的方式添加任何内容,但我对此持开放态度

这是我当前的对象层次结构:
NSToolBarItem->NSView->NSTabView->NSTabItem->nsbutton

我的约束条件分别为:
NSTabView
被约束为在容器的四个侧面都有0个常量
NSView

NSTabItem
没有大小,它只是具有
NSTABIVIEW
的大小。因此,不应用任何约束

我有2-3个相隔10像素的
nsbutton
,结束按钮被约束到
NSTabView
但是,最右边的按钮对superview有一个尾部约束

我的问题是,按钮“拥抱”太多了,不会呈现其固有大小的宽度

以下是
NSTabItem
interface builder中预览的屏幕截图

以下是德语预览:

看起来不错吧

在运行时,我看到的是:

对我来说,这显然是一个拥抱/抗压优先的问题。 我将
1
设置为我的层次结构中每个视图的拥抱优先级,
1000
设置为压缩阻力,以及数字的微小变化。但我无法通过按钮来避免压迫/过度拥抱。我已经能够使用一个按钮来避免过度拥抱,但是另一个按钮总是会因此而受损

我意识到我的
NSTabView
右侧的间隙。这是因为我在容器
NSView
上放置了一个宽度,只是为了显示一些内容

我已经到了一个英语看起来不错的状态,但一旦我换成德语,按钮就被弄脏了


我知道我错过了很多细节,但我不知道什么是重要的知道或不知道。如果您需要更多详细信息,请发表评论;此时,我将欣然接受任何建议

什么是视图层次结构?对不起,视图层次结构位于问题的顶部:)工具栏中的选项卡视图?如何创建红色按钮?按钮的大小和预览一样,文本更大。啊,就是这样。子类化
NSButton
,而不是覆盖
intrinsicSize
,以说明特殊字体。谢谢