2009-12-22 1 views
1

코코아 창에서 단추를 프로그래밍 방식으로 제거해야하지만이 방법과 가까운 유일한 방법은 NSObject에서 dealloc이었습니다. 그러나이 작업은 원하는 작업이 아닙니다. 실제로 메모리를 할당 해제하지 않고 창에서 버튼을 실제로 삭제하는 방법이 있습니까?프로그래밍 방식으로 코코아 OSX 창에서 단추 제거

답변

4

NSButton은 NSControl의 하위 클래스이며 NSControl 자체는 NSView의 하위 클래스입니다.

단추 인스턴스에서 -removeFromSuperView을 호출하여 수퍼 뷰에서 단추를 제거 할 수 있어야합니다.

10

removeFromSuperview 메시지를 버튼 인스턴스로 보냅니다.

(setHidden:을 사용하여) 대신 숨기시겠습니까?

+1

보기가 하위보기를 유지한다는 점을 강조합니다. 이는 하위보기에서 단추를 제거하면 수퍼 뷰가이를 해제하여 해제 될 수 있음을 의미합니다. 나는 버튼을 숨기는 것이 아마 더 유용 할 것이라는 데 동의한다. –

+0

+1 "아마도 숨기기"제안과 아마도 * 비활성화 *하는 추가 제안. 현재 사용할 수없는 UI 제거는 권장되지 않습니다. 사용자는 그것이 가능하다는 것을 알기 때문에 그들이 그것을 가능하게하기 위해 무엇인가해야한다는 것을 알고 있습니다. –