2014-12-16 3 views
0

레이아웃이 전체적으로 제약 조건에 의해 제어되고 translatesAutoresizingMaskIntoConstraints가 NO 인 뷰에 NSTextField가 있습니다. 내가 원하는하지 않은NSTextField의 setStringValue는 항상 높이를 변경합니다.

[[self textfield] setStringValue:@"1\n2\n3\n"]; 

그리고 높이가 4 개 라인으로 변경 :이 같은 내용을 변경하는 setStringValue을 사용하려고했습니다. 한 줄만 표시 할 수있는 NSTextField가 필요하지만 여전히 위아래 화살표 키를 사용하여 여러 줄로 이동할 수 있습니다. 그것은 NSTextField에 개행을 삽입하기 위해 option + enter를 사용하는 것과 같습니다. 그것은 작동하지 않습니다

NSRect originalFrame = [[self textfield] frame]; 
[[self textfield] setStringValue:@"1\n2\n3\n"]; 
NSRect newFrame = [[self textfield] frame]; 
newFrame.size.height = originalFrame.size.height; 
[[self textfield] setFrame:newFrame]; 

:

는 또한 높이를 유지하기 위해 노력했다. intrinsicContentSize를 확인하고 반환합니다 (width = -1, height = 73). NSTextField에 설정할 수있는 것이 있나요? 높이는 22와 같이 단 한 줄입니까?

답변

1

보기와 관련하여 텍스트 필드의 자동 레이아웃을 설정했기 때문에 이러한 현상이 발생합니다. 그래서 아래의 높이 확인란을 클릭하여 텍스트 필드의 높이를 고정 시켰습니다. - enter image description here

관련 문제