objective-c - NSView显示和隐藏SubView

标签 objective-c cocoa nsview

在我的应用程序中,我需要根据某些用户操作显示和隐藏,我已经完成了以下操作

在界面定义中,添加了类似的 View

@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 中看到
请指导我,我需要做更多的事情来显示 View

谢谢

最佳答案

当您的应用崩溃时,查看“调试器”窗口 - 它会告诉您应用崩溃时正在执行什么操作。

您可能想要停止调试器并在 Instruments 的 Zombies 工具下重新运行您的应用程序。当崩溃是因为您向一个死亡对象发送消息时(这在 Cocoa 中可能是 80% 的原因),Zombies 工具会告诉您那是什么对象以及是什么杀死了它。

关于objective-c - NSView显示和隐藏SubView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4769122/

相关文章:

objective-c - NSBlock操作没有被取消

nsview - NSView 上的动画自动布局约束和 Alpha

cocoa - 如何将 NSView 上的点击传递到其下方的应用程序窗口?

objective-c - 编写我自己的 block 方法

iphone - 在 [UIButton addTarget] 中传递自定义数据

objective-c - 如何将图像动画显示到屏幕上

macos - 如何使用 swift 从 nscolor 和图案图像中获取 cgcolor?

iphone - 基础 SDK 缺失错误

nsview - 如何在自定义 NSView 中使用 NSScroller

iphone - @property 保留 - iPhone