objective c - 편집하지 않으면 NSTextField 자리 표시 자 텍스트가 표시되지 않습니다.



objective-c cocoa (2)

인터페이스 작성기에서 NSTextField의 자리 표시 자 텍스트를 설정했지만 텍스트 필드를 클릭하여 편집 할 때까지 자리 표시 자 텍스트가 표시되지 않습니다. 이 문제가 발생한 사람은 누구입니까?

감사

편집 : 스크린 샷. 편집하지 않을 때 필드의 모양은 다음과 같습니다.

편집하지 않음 http://cl.ly/2a0R1h1p2A082g1t1b3q/Screen_Shot_2011-04-01_at_6.51.25_PM.png

그리고 이것이 편집 할 때의 모습입니다.

편집 http://cl.ly/1c2d1U233R3j3k0M2E2Q/Screen_Shot_2011-04-01_at_6.51.32_PM.png

https://src-bin.com


Answer #1

Interface Builder에서 NSTextField 데이터를 바인딩 했습니까? 그렇다면 유틸리티 속성의 바인딩 탭에서 "다중 값 자리 표시 자", "선택 항목 자리 표시 자 없음"및 "Null 자리 표시 자"를 설정해야합니다. 개봉 된 동안 "적용 할 수없는 자리 표시 자"도 설정할 수 있습니다.


Answer #2

이 문제를 해결하는 방법은 다음과 같습니다.

  1. 서브 클래스 NSTextFieldCell ;
  2. Override - (void)drawWithFrame:(NSRect)cellFrame , - (void)drawInteriorWithFrame: (필요한 경우 - (void)drawInteriorWithFrame: 메소드로 필요한 모든 그리기 코드를 넣습니다. super 구현 을 호출하는 것을 잊지 마십시오 .
  3. Interface Builder 에서 NSTextFieldCell Class 필드를 서브 클래스로 설정하십시오.
  4. .xib 파일의 border 설정 (나는이 국경의 이름을 모른다);
  5. Draw Background 끄십시오.




appkit