我在不同的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