2013-05-06 1 views
0

내 양식에 활동 표시기와 몇 개의 텍스트 필드가 있습니다. 활동 표시기가 회전/보이면 텍스트 필드의 편집 가능 플래그가 비활성화되도록 바인딩을 사용하고 싶습니다. 회전이 멈추고 사라지면 텍스트 필드를 편집 할 수있게됩니다.바인드 NSTextField가 NSProgressIndicator 상태로 편집 가능

저는 바인딩에 새로운 것이므로이 기능을 사용할 수 없습니다. 누군가가 단계를 제공 할 수 있다면 정말 고맙겠습니다.

NSObjectController를 추가 한 다음 'content'를 활동 표시기에 바인딩하려고했지만 텍스트 필드 바인딩에서 수행 할 작업을 파악할 수 없습니다.

답변

3

이것은 좋은 질문입니다. 당신은 어떤 종류의 간접적 인 바인딩을해야 할 것입니다. 클래스의 BOOL에 NSProgressIndicator'sAnimate 바인딩을 바인딩 할 수 있습니다. 애니메이션을 만들 때마다 BOOL을 YES로 설정하십시오. 그러나 편집 가능 또는 사용 가능 (원하는 효과에 따라 다름)에 대해 NSTextField's 바인딩을 설정하고이를 동일한 BOOL에 바인딩하면 반대의 효과가 발생합니다.

EDIT : TheNextman의 의견에 따르면 NSTextField의 Value Transformer를 NSNegateBooleanTransformerName으로 설정하면 BOOL의 반대 값에 따라 활성화/비활성화가 처리됩니다.

+0

'NSNegateBooleanTransformerName'이 없으므로 커스텀 트랜스 포머 (https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ValueTransformers/Concepts/TransformersAvail.html) 작성을 줄일 수 있습니까? 아니면 코드 샘플에서 뭔가 빠졌습니까? – TheNextman

+1

물건을 놓치지 않았습니다. 나는 그 사람들이 거기 있다는 것을 항상 잊어 버린다. – macandyp

+0

감사! 이것이 내가 필요한 것입니다. – Gargoyle