Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 在Cocoa中将一个NSView替换为另一个NSView_Objective C_Macos_Cocoa_Xamarin_Xamarin.mac - Fatal编程技术网

Objective c 在Cocoa中将一个NSView替换为另一个NSView

Objective c 在Cocoa中将一个NSView替换为另一个NSView,objective-c,macos,cocoa,xamarin,xamarin.mac,Objective C,Macos,Cocoa,Xamarin,Xamarin.mac,我正在尝试将现有NSView与从nib文件加载的新视图切换。我知道有两种方法 从超级视图中删除我的子视图,并将新的子视图添加到超级视图中 [NSView]从SuperView和 [NSView]添加子视图 使用此调用将现有子视图替换为新子视图 [NSView]将子视图替换为(NSView,NSView) 这两个电话是一样的吗?使用一个视图比使用另一个视图有什么显著的优势或区别吗?如果您真的要将一个视图替换为另一个视图,请使用replaceSubview:with:;毕竟,这正是它设计的目的!如果

我正在尝试将现有NSView与从nib文件加载的新视图切换。我知道有两种方法

  • 从超级视图中删除我的子视图,并将新的子视图添加到超级视图中

    [NSView]从SuperView和 [NSView]添加子视图

  • 使用此调用将现有子视图替换为新子视图

    [NSView]将子视图替换为(NSView,NSView)


  • 这两个电话是一样的吗?使用一个视图比使用另一个视图有什么显著的优势或区别吗?

    如果您真的要将一个视图替换为另一个视图,请使用
    replaceSubview:with:
    ;毕竟,这正是它设计的目的!如果您希望替换视图与旧视图位于同一位置,那么它将非常有用,并且它可能会针对子视图替换用例进行更多的优化(尽管我怀疑这会产生巨大的差异)