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

时间:2015-06-02 16:53:53

标签: objective-c macos nsview

我正在开发一个cocoa应用程序,我想在其中动态添加,删除,调整视图大小。 enter image description here 上面显示的是图像,其中父视图中有三个视图,可以添加或删除视图-B,并根据我们需要调整视图C的大小。

任何cocoa / objective-c都有助于此。

1 个答案:

答案 0 :(得分:1)

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