보기에 확장 툴팁이 활성화되어 있고 텍스트가 맞지 않는 NSTextField
이 있으면 사용자가 커서를 필드 위로 가져 가면 OS X에 확장 툴팁이 표시됩니다. setStringValue:
을 호출하여 NSTextField
의 텍스트 내용을 변경하면 확장 툴팁의 크기가 업데이트되지 않습니다. 예를 들어 원본 텍스트의 길이가 100 자이지만 새 텍스트의 길이가 50자인 경우 새 텍스트 위에 마우스를 가져 가면 새 텍스트가 포함 된 100 자까지 확장 된 툴팁이 표시됩니다. 새 문자열이 NSTextField
에 완전히 들어 맞더라도 확장 툴팁이 나타나지 않는 경우에도 마찬가지입니다.NSTextField setStringValue를 호출 한 후 확장 툴팁 크기를 업데이트하려면 어떻게해야합니까?
반대의 경우도 발생합니다. 원래 문자열이 NSTextField
에 맞으면 확장 툴팁이 표시되지 않습니다. 새 문자열이 NSTextField
내에 맞지 않으면 필요한 경우에도 확장 툴팁이 나타나지 않습니다.
내부적으로 NSTextField
의 NSTextFieldCell
은 NSCell
방법 expansionFrameWithFrame:inView:
을 구현합니다. 뭔가 (나는 무엇을) 이것을 한 번 호출하고, 결과를 캐싱하는 것으로 보인다. setStringValue:
을 사용하여 새 문자열을 설정해도이 함수가 다시 호출되지는 않습니다.
setStringValue:
을 호출 한 후 NSTextField에서 setNeedsDisplay
을 호출해도 문제가 해결되지 않습니다.
그래서 AppKit에서 확장 툴팁의 크기를 조정하려면 어떻게해야합니까?
나는 내 자신의 질문에 대답했지만, 누군가가 덜 해커 같은 방법으로이 문제를 해결할 때를 대비하여 내 대답을 받아들이지 않을 것입니다. –
나는 슬프게도 대부분의 코코아 질문이 질문의 저자에 의해 hackish 방법으로 응답된다는 것을 안다. – tofutim
나는 방금 3 년 전에 의견을 남겼다는 것을 깨달았다. 게시 해 주셔서 다시 한 번 감사드립니다. – tofutim