2
對於我的NSSegmentedControl
,我用它來顯示一個條來控制NSTableView
。我有代碼設置來以編程方式控制大小:NSSegmentedControl中的等尺寸單元格
for (NSInteger i = 1; i <= numberOfSegments; i++) {
CGSize textSize = [[NSString stringWithFormat:@"Workspace %ld", (long)i] sizeWithAttributes:@{NSFontAttributeName: [NSFont systemFontOfSize:13.0f]}];
NSInteger segmentWidth = self.workspaceControl.frame.size.width/numberOfSegments;
if (textSize.width > segmentWidth) {
[self.workspaceControl setLabel:[NSString stringWithFormat:@"%ld", (long)i] forSegment:i - 1];
} else {
[self.workspaceControl setLabel:[NSString stringWithFormat:@"Workspace %ld", (long)i] forSegment:i - 1];
}
[self.workspaceControl setWidth:segmentWidth forSegment:i - 1];
}
這個工作,由一個小問題發生。
在開始的時候(有一個段),它看起來像這樣:
正如我改變值,右側被稍微裁剪。
然後回一個片段:
約束如下:
我非常困惑的削減(可能是因爲幾個像素t0o大),但我不知道如何解決它,或者有更好的方式來獲得均勻間隔的細胞?