동적으로 NSOutlineView의 모든 셀의 글꼴 크기를 변경하고 있습니다. (효과를 과장 글꼴 크기) :전체 NSTableView/NSOutlineView의 글꼴 크기 다음에 동적으로 행 높이를 변경합니다.
id cell = [myOutlineColumn dataCell];
[cell setFont: [NSFont fontWithName: @"Geneva" size:32.0] ];
하지만 변경하지 않는 NSOutlineView의 행의 행 높이 나는 성공적 실제 글꼴 크기를 변경할 수 있어요. 셀은 모두 이전 높이 (17pt)를 갖지만 텍스트는 32pt입니다. [myTable tile] 및 [myTable reloadData]를 시도했지만 행 높이를 다시 계산하지 않습니다.
나는 -noteHeightOfRowsWithIndexesChanged를 보았습니다. NSIndexSet을 로딩하고 noteHeightOfRowsWithIndexesChanged를 호출하여 행을 자동으로 조정하는 유일한 방법은 무엇입니까?
은 그래서를 위해 세포를 물어 자신을위한 방법이 없습니다 자신의 높이, 그리고 그것으로부터 행 높이를 만드시겠습니까? – SMGreenfield
개요보기의 행 높이를 설정할 때까지 셀 높이가 변경되지 않기 때문에 직접 적용되지 않습니다. 당신이 할 수있는 일은 셀에서 -cellSizeForBounds :를 호출하여 rect 높이에 FLT_MAX를 전달하는 것입니다. 텍스트를 감쌀 수있는 셀의 행 높이가 가변적 인 외곽 뷰에서이 작업을 수행하지만 모든 행이 같은 높이가 될 경우 잔인한 작업 일 수 있습니다. 내가 닮은 경우를 위해 그것을하는 방법은 사용자 정의 함수를 호출하여 NSLayoutManager의 -defaultLineHeightForFont :를 사용하여 폰트의 최적 높이를 얻은 다음 두 개의 픽셀을 추가하고 -setRowHeight를 사용하여 설정합니다. – kayembi
위의 대답을 사용 된 글꼴의 가장 좋은 행 높이를 계산하는 데 사용하는 코드로 업데이트했습니다. – kayembi