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
Macos 测量NSTokenField上的字符串宽度_Macos_Cocoa_Nstokenfield - Fatal编程技术网

Macos 测量NSTokenField上的字符串宽度

Macos 测量NSTokenField上的字符串宽度,macos,cocoa,nstokenfield,Macos,Cocoa,Nstokenfield,如果需要的空间大于水平可用空间,我需要测量字符串宽度以留出空间(垂直)。我可以在NSTextField上执行此操作,但在NSTokenField上?NSTokenField继承自NSTextField(以及文档中提到的顶部的其他类),因此应该没有问题 以下是我在别处找到的答案: - (void)resizeTokenField; { NSRect oldTokenFieldFrame = [self.tokenField frame]; NSSize cellSize= [[se

如果需要的空间大于水平可用空间,我需要测量字符串宽度以留出空间(垂直)。我可以在NSTextField上执行此操作,但在NSTokenField上?

NSTokenField继承自NSTextField(以及文档中提到的顶部的其他类),因此应该没有问题

以下是我在别处找到的答案:

- (void)resizeTokenField;
{
    NSRect oldTokenFieldFrame = [self.tokenField frame];
    NSSize cellSize= [[self.tokenField cell] cellSizeForBounds:[self.tokenField
                                                           bounds]];


        [self.tokenField setFrame:NSMakeRect(
                                        oldTokenFieldFrame.origin.x,
                                        oldTokenFieldFrame.origin.y+ oldTokenFieldFrame.size.height-
                                        cellSize.height,
                                        oldTokenFieldFrame.size.width,
                                        cellSize.height)];

}