2012-08-10 71 views
1

編輯:如何將數據傳遞給自定義類(子視圖)drawRect函數?

我畫使用drawRect:功能駐留在一個定製類中,我在MainStoryboard.storyboard文件中創建一個視圖中的行。該視圖確實指向界面構建器中的自定義類(draw2D)。

所有的代碼,我就在我的主文件(的viewController)平局,現在是: (頭文件)

@class draw2D; 
@property (weak, nonatomic) IBOutlet draw2D *draw; 

(M檔)

#import "draw2D.h" 
[draw.listOfFreqToDraw addObject: closestChar]; 
[draw setNeedsDisplay]; 

這個問題我現在似乎有是它只運行draw2D類中的drawRect方法一次,並且從不再次調用它(因此listOfFreqToDraw甚至在第一次運行後不會調用)

+0

你更新在Interface Builder中將「Class」名稱添加到您的自定義類中? – 2012-08-10 12:10:38

+0

是的,我已經完成了。名爲draw2D的自定義類已鏈接到它。 – Himmi 2012-08-10 12:18:28

+0

就像我剛纔提到的那樣,課堂畫得很好,我遇到的問題是與繪畫課共享數據信息。 – Himmi 2012-08-10 12:19:30

回答

0

您可以AYS改變一個變量Draw2D中

此設置在draw2D.h

@property (nonatomic, strong) NSMutableArray * listOfFreqToDraw; 
在draw2D.m

- (void)drawRect:(CGRect)rect { 
for (UIBezierPath *path in self. listOfFreqToDraw) { 
    [path stroke]; 
    } 
} 

,並在你的主類

[draw.listOfFreqToDraw addObject: closestChar]; 
[draw setNeedsDisplay]; 
+0

在no teLineView.paths = self.paths;在對象UIView上找不到屬性'路徑',你的意思是draw2D類嗎?它似乎無法找到UIView自定義類擁有的屬性,如果我使用直接類,它似乎使用它的另一個實例。 – Himmi 2012-08-10 12:48:23

+0

當你寫[draw.listOfFreqToDraw addObject:closestChar]; [self.noteLineView setNeedsDisplay] 什麼是draw2D類型的對象? – Amitay 2012-08-10 12:52:17

+0

對draw2D和draw的混淆感到抱歉。draw爲:draw = [[draw2D alloc] init];和draw2D只是導入的自定義類 – Himmi 2012-08-10 12:54:54

相關問題