0
在我的應用我需要顯示和隱藏基於一些用戶操作,我已經做了以下的NSView顯示和隱藏子視圖
在接口定義,有這樣的
@interface MyWnd : NSWindowController {
MyCustomView1 *pCtmView1;
MyCustomView2 *pCtmView2;
}
增加的視圖在源文件有以下相關的方法
-(void)CreateSubViews{
NSRect subViewRect = [self GetSubViewRect];
pCtmView1 = [[ MyCustomView1 alloc]initWithFrame:subViewRect]
pCtmView2 = [[ MyCustomView2 alloc]initWithFrame:subViewRect]
initially both view will be hidden
[pCtmView1 setHidden:TRUE];
[pCtmView2 setHidden:TRUE];
[[self window] view addSubView:pCtmView1];
[[self window] view addSubView:pCtmView2];
}
-(void)ShowSubView:(int)viewId{
if(viewId == 0){
[pCtmView1 setHidden:FALSE];
[pCtmView1 setNeedDisplay:YES];
}
if(viewId == 1){
[pCtmView2 setHidden:FALSE];
[pCtmView2 setNeedDisplay:YES];
}
}
在初始化應用我打電話ShowSubView:0和它的做工精細, 而是取決於一些用戶操作,我會打電話給ShowSubView:1,並沒有什麼顯示& EXEC_BAD_ACCESS我可以在GDB看到
請指引我,做我需要做更多的事情,以顯示視圖
感謝
嘗試不要在以後調用setNeedsDisplay。此外,您應該使用YES和NO,而不是TRUE和FALSE。這是慣例,但它不應該是真的。 – Maz 2011-01-22 17:02:52