私は異なるxibに2つのクラスを持ち、1つはウィンドウとスライダー(コントローラー1)を持ち、もう1つはウィンドウとビュー(コントローラー2)を持っています。コントローラ1は最初のxibのファイル所有者であり、コントローラ2はNSViewのクラスです。私がしたいのは、スライダーを動かしてNSRectの色を変えたいときです。コントローラ1では別のクラスのrectを描画する
は、私は私のスライダー作用を有する:
-(IBAction)moveSlider:(id)sender
{
Controller2 *view = [[Controller2 alloc] init];
[view redraw];
}
とコントローラ2に、私は自分のドローRECTと再描画するために私の方法を持っています。
- (id)initWithFrame:(NSRect)frame
{
self = [super initWithFrame:frame];
if (self) {
RectColor = [NSColor blackColor];
}
return self;
}
-(void) redraw
{
NSLog(@"changed");
RectColor = [NSColor blueColor];
[self setNeedsDisplay:YES];
}
- (void)drawRect:(NSRect)rect
{
[RectColor set];
NSRectFill(rect);
}
それだけで正常に動作RECT私は引き分けと私の見解と同じXIB上の自分の行動とスライダーを持っていたときに奇妙なことがあります。しかし、私は他のxibのスライダーを持っているときは動作しません。何か案は?ありがとう!
'moveSlider:'アクションメソッドでは、毎回 'Controller2'を作成しています。それが必要なのでしょうか? – Ilanchezhian
よく、私はそのファイルをインポートする必要はないと信じていますが、これはメソッドを呼び出す方法を知っている唯一の方法でした。 –