2011-12-30 66 views
0

我正在使用核心圖形。我有viewController類和一個目標c類來繪製形狀。在我的視圖控制器中,我有一些文本框來輸入值。根據該文本框我想繪製目標C類中的形狀。爲此,我想將視圖controller.m文件中的值傳遞給目標C class.m文件。我怎樣才能做到這一點?在iPad應用程序中繪製核心圖形

這是我的代碼,但它不會將值傳遞給目標C類。希望你瞭解我的問題。

-(void)doneEditing{ 
    objectiveCClass *object=[objectiveCClass alloc]; 
    object.l=ltxt.text; 
} 

這是將值從視圖controller.m傳遞到objectiveCClass的代碼。

- (void)drawRect:(CGRect)rect{ 

    float l1=[l floatValue]; 
    float x2=l1+150; 

    CGContextRef context4= UIGraphicsGetCurrentContext(); 

    CGContextSetLineWidth(context4, 3.0); 

    CGContextSetStrokeColorWithColor(context4, [UIColor blackColor].CGColor); 


    CGContextMoveToPoint(context4, 150, 400); 
    CGContextAddLineToPoint(context4,x2,400); 
    CGContextStrokePath(context4); 
} 

這是objectiveCClass的編碼。但它並不需要l1值。它將l1值設爲0.我該如何解決我的問題? 我可以使用任何其他方法解決這個問題嗎?

+0

您在Objective-C類的alloc之後沒有調用'init'。 – Abizern 2011-12-30 10:03:07

+0

我正在使用init。但它仍然沒有將視圖控制器類中的值傳遞給objectiveC類。 – elez 2012-01-02 04:21:20

回答

0

我相信你忘了在l1更新後發送setNeedDisplay消息。

+0

我該如何發送setNeedDisplay消息?你能解釋一下嗎? – elez 2012-01-02 04:15:45

+0

你有某種放置drawRect的UIView。你必須寫一些像「[viewWithDrawRect setNeedsDisplay];」在doneEditing結束時。 – bealex 2012-01-03 13:21:02