2015-06-19 21 views
-1

我创建了一个pdf,我想要一个表格。我发现了一个教程draw pdf with table,但之后我implent这种方法:即使执行该方法,也没有可见的接口声明该选择

+(void)drawTableAt:(CGPoint)origin 
    withRowHeight:(int)rowHeight 
    andColumnWidth:(int)columnWidth 
     andRowCount:(int)numberOfRows 
    andColumnCount:(int)numberOfColumns 

{ 
    for (int i = 0; i <= numberOfRows; i++) 
    { 
     int newOrigin = origin.y + (rowHeight*i); 

     CGPoint from = CGPointMake(origin.x, newOrigin); 
     CGPoint to = CGPointMake(origin.x + (numberOfColumns*columnWidth), newOrigin); 

     [self drawLineFromPoint:from toPoint:to]; 
    } 
} 


and when i call it in : 

    (void)generatePdf:(NSString *)filePath{ 

     UIGraphicsBeginPDFContextToFile(filePath, CGRectZero, nil); 
     UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, 612, 792), nil); 

     [self drawBackground]; 
     [self drawCamionContext]; 


     int xOrigin = 50; 
     int yOrigin = 300; 

     int rowHeight = 50; 
     int columnWidth = 120; 

     int numberOfRows = 7; 
     int numberOfColumns = 4; 

     [self drawTableAt:CGPointMake(xOrigin, yOrigin) withRowHeight:rowHeight andColumnWidth:columnWidth andRowCount:numberOfRows andColumnCount:numberOfColumns]; 
     UIGraphicsEndPDFContext(); 

    } 

我有一个错误:没有可见的接口中声明的选择“drawTableAt ......”

我也声明这个methos在.h文件...

回答

1

问题是,你声明drawTableAt:...作为静态方法(使用+)在你的课堂上。

只要改变+(void)drawTableAt:(CGPoint)origin-(void)drawTableAt:(CGPoint)origin,它应该工作(记住更改在头呢!)

相关问题