我在不同的xib上有兩個類,一個具有窗口和滑塊(控制器1),另一個具有窗口和視圖(控制器2)。控制器1是第一個xib的文件所有者,控制器2是NSView的一個類。我想要做的是當我移動滑塊時,我想改變NSRect的顏色。從另一個類中繪製矩形
在控制器1我有滑塊動作:
-(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);
}
奇怪的是當我有我的行動和滑塊在同一個xib作爲我的看法與繪製矩形它工作得很好。然而,當我在另一個xib滑塊,它不會工作。有任何想法嗎?謝謝!
在'moveSlider:'動作方法中,您每次都在創建'Controller2'。是否需要這種情況? – Ilanchezhian 2012-03-19 04:25:39
以及我不相信它的要求,我導入該文件,但這只是我知道如何調用方法的唯一方法 – 2012-03-19 04:28:00