以可编程方式从可可OSX中的窗口中删除按钮

问题描述:

我需要以可编程方式从可可中的窗口中删除按钮,但唯一接近此方法的方法是在NSObject中释放,但这不是我想要做的。有没有一种方法可以从窗口中实际删除按钮,而不仅仅是释放其内存?以可编程方式从可可OSX中的窗口中删除按钮

NSButton是NSControl的一个子类,它本身就是NSView的子类。

您应该可以通过在按钮实例上调用-removeFromSuperView从其超级视图中移除按钮。

发送removeFromSuperview消息到按钮实例。

虽然也许你只是想隐藏它(使用setHidden:)?

+1

值得指出的是,视图保留了它们的子视图,这意味着从其超级视图中移除按钮将导致超级视图释放它,可能导致其释放。我同意隐藏按钮可能更有用。 – 2009-12-22 19:36:11

+0

对于“也许只是隐藏它”的建议+1以及可能禁用*的进一步建议。不推荐删除当前不可用的用户界面。用户应该知道它在那里,所以他们知道他们必须做些事情来启用它。 – 2011-10-22 05:06:18