Objective c 如何在两个视图之间动态添加和删除视图

Objective c 如何在两个视图之间动态添加和删除视图,objective-c,macos,nsview,Objective C,Macos,Nsview,我正在开发一个cocoa应用程序,我想在其中动态添加、删除和调整视图大小。 上面显示的是一幅图像,其中父视图中有三个视图,可以从中添加或删除视图B,并基于此调整视图C的大小 任何cocoa/objective-c帮助 //To add a subview [parentView addSubview:subview]; //To remove a subview [subview removeFromSuperview]; //To resize a view [subview setFra

我正在开发一个cocoa应用程序,我想在其中动态添加、删除和调整视图大小。 上面显示的是一幅图像,其中父视图中有三个视图,可以从中添加或删除视图B,并基于此调整视图C的大小

任何cocoa/objective-c帮助

//To add a subview
[parentView addSubview:subview];

//To remove a subview
[subview removeFromSuperview];

//To resize a view
[subview setFrameSize: NSMakeSize(width, height)];
[subview setFrameOrigin: NSMakePoint(originX, originY)];
如果需要根据其他视图的大小或位置设置视图的边框,可以使用具有大小和原点等的视图边框

例如,要移动C使其与A相邻并占用视图中的其余空间,请执行以下操作:

NSSize size = NSMakeSize(parentView.frame.size.width, parentView.frame.size.height - a.frame.size.height);
NSPoint origin = NSMakePoint(a.frame.origin.x, a.frame.origin.y + a.frame.size.height);

[c setFrameSize: size];
[c setFrameOrigin: origin];

尝试
addSubview
/
removeFromSuperview
并重新计算每个视图的大小。我没有受到限制。如果你可以要求OS X 10.9或更高版本,那么你应该考虑使用这种类型的UI。