我有两个NSPopover,它们的设置完全相同(只是从IB链接自定义NSView)。两者都弹出就很好了,但是似乎可以使内容偏移约20px。

此NSPopover(正确)未填充内容...



但这距乘车侧大约增加了20px。



这是IB中列出的两个视图



如您所见,搜索栏应固定在右侧,就像它固定在左侧一样,但是由于某种原因,它不是固定在右侧。起初我以为这是一个矛盾的问题,但是在与他们纠缠了一段时间之后,我可以确定不是。

有什么线索吗?

编辑:决定对视图进行子类化并填充其矩形,得到了一些非常奇怪的结果!视图似乎已偏移。我不知道为什么会这样

最佳答案

here中,这引起了我的注意(重点是我):


  您不应该打电话给的基本情况
  setTranslatesAutoresizingMaskIntoConstraints:是您不
  指定视图与其容器的关系的人。例如,
  NSTableRowView实例由NSTableView放置。它可能会这样做
  通过允许将自动调整大小的蒙版转换为约束,
  否则可能不会。这是一个私有的实现细节。其他观点
  你不应该打电话给
  setTranslatesAutoresizingMaskIntoConstraints:包括一个
  NSTableCellViewNSSplitView的子视图,NSTabViewItem的视图,或
  NSPopoverNSWindowNSBox的内容视图。对于那些
  熟悉经典的可可布局:如果您不打电话
  setAutoresizingMask:在经典风格的视图上,您​​不应调用
  自动布局下的setTranslatesAutoresizingMaskIntoConstraints:


它适用于您吗?

关于objective-c - NSPopover填充内容在一侧,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16548181/

10-10 20:29