小编IEb*_*IEb的帖子

使用NSTextField创建标签非常模糊

我正在尝试使用NSTextField以编程方式创建标签,但它模糊不清:截图

到目前为止这是我的代码:

NSTextfield *textfield = [[NSTextField alloc] initWithFrame:NSMakeRect(5,5,150,20)];
[texField setStringValue:@"some text here"];
[textField setEditable:NO];
[textField setSelectable:NO];
[textField setBordered:NO]
[textField setDrawsBackground:NO]
Run Code Online (Sandbox Code Playgroud)

我已将问题追溯到setDrawsBackground行.我也尝试过使用[textField setBackgroundColor:[NSColor clearColor],但没有运气.

顺便说一下,我将textField添加到视图的子视图中,该视图是scrollview的子视图.我也在所有视图级别上玩isOpaque,但再没有运气.

任何帮助是极大的赞赏.

cocoa objective-c nstextfield

5
推荐指数
3
解决办法
2576
查看次数

使NSTextView完全适合其内容

我有一个包含按钮和textview的视图.单击该按钮时,textview的隐藏状态将更改并显示在视图上.已配置弹簧和支柱,因此textview与视图垂直扩展.所有这些都在IB中完成

然后我以编程方式将文本插入textview,但我需要textview显示其所有内容,而无需用户滚动.

这是我用来计算textview中文本高度的代码:

- (float) getTextViewHeight {

    //based on http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/TextLayout/Tasks/StringHeight.html%23//apple_ref/doc/uid/20001809-CJBGBIBB

    [textview.textContainer setLineFragmentPadding:0.0];
    [textview.layoutManager glyphRangeForTextContainer:textview.textContainer]; 

    return [textview.layoutManager usedRectForTextContainer:self.interactionData.textContainer].size.height;    
}
Run Code Online (Sandbox Code Playgroud)

无论是否在textview上调用-sizeToFit,它都会太大或太小(取决于其内容).

我需要获得textview的高度,显示所有内容,以便我可以调整视图的大小.

我知道我可能会使用NSTextField作为标签,但我需要一个NSTextView来增加其功能(特别是使用封闭的scrollview的rulerview).

有人有什么建议吗?

cocoa objective-c nsview nstextview

5
推荐指数
1
解决办法
4866
查看次数

标签 统计

cocoa ×2

objective-c ×2

nstextfield ×1

nstextview ×1

nsview ×1