如何更改自定义NSTextField的大小和字体?

时间:2014-09-30 16:42:00

标签: macos nstextfield nsfont

我跟着回答:

https://stackoverflow.com/a/3233802/3850487

我能够使用@Dave代码并且效果很好。

唯一的问题是我似乎找不到改变标签字体或大小的方法。

[self.rssLabel setText:fullString];
[self.rssLabel setSpeed:0.03f];
[[self rssLabel] setFont:[NSFont boldSystemFontOfSize:100]];//NOT WORKING

根本没有任何事情发生,就像它没有受到影响一样。

我最接近的是当我向- (void)drawRect:(NSRect)dirtyRect

添加一些代码时
- (void)drawRect:(NSRect)dirtyRect {
    // Drawing code here.  
    [[NSColor grayColor] set];//changed the background of the view 
    NSRectFill(dirtyRect);    //not text color
    ...

}

我试图联系戴夫,但我还没有评论,请告知。

1 个答案:

答案 0 :(得分:0)

你需要在drawRect:(NSRect)dirtyRect进行更改。

示例:

- (void)drawRect:(NSRect)dirtyRect {
    // Drawing code here.
    NSFont *font = [NSFont fontWithName:@"Courier" size: 15.0f];
    //add more custom stuff, then assign attributes
    NSDictionary *attributes = @{ NSFontAttributeName: font};

    if (point.x + stringWidth < 0) {
        point.x += dirtyRect.size.width;
    }

    [text drawAtPoint:point withAttributes:attributes];//assign!

    if (point.x < 0) {
        NSPoint otherPoint = point;
        otherPoint.x += dirtyRect.size.width;
        [text drawAtPoint:otherPoint withAttributes:attributes];//assign!
    }
}