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

How to dynamically add and remove views between two Views

我正在开发一个 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 接壤并占据视图中 space 的其余部分:

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];