3

我正在使用 Xcode 5 并在尝试编译使用 Core Plot 的 iOS 应用程序时出现以下错误:

Implicit conversion from enumeration type 'enum UILineBreakMode' to different enumeration type 'NSLineBreakMode' (aka 'enum NSLineBreakMode')

错误在CPTTextStylePlatFormSpecific.m

-(void)drawInRect:(CGRect)rect withTextStyle:(CPTTextStyle *)style inContext:(CGContextRef)context
{
    if ( style.color == nil ) {
        return;
    }

    CGContextSaveGState(context);
    CGColorRef textColor = style.color.cgColor;

    CGContextSetStrokeColorWithColor(context, textColor);
    CGContextSetFillColorWithColor(context, textColor);

    CPTPushCGContext(context);

    UIFont *theFont = [UIFont fontWithName:style.fontName size:style.fontSize];

    [self drawInRect:rect
            withFont:theFont
       lineBreakMode:**UILineBreakModeWordWrap** // ERROR!!
           alignment:(NSTextAlignment)style.textAlignment];

    CGContextRestoreGState(context);
    CPTPopCGContext();
}

我该如何解决这个错误?

4

2 回答 2

8

这在较新版本的 Core Plot 中已修复。同时,将违规常量更改为NSLineBreakByWordWrapping

于 2013-09-03T23:33:27.433 回答
5

这应该只是一个警告,除非你已经打开-Werror(不是一个坏主意)。无论如何,如果您查看“NSLineBreak”的自动完成功能,错误暗示您应该这样做,您会看到NSLineBreakByWordWrapping.

于 2013-09-03T15:54:27.807 回答