2011-10-04 3 views
4

나는 파란색 경계선 (값을 편집 할 수있을 때 NSTextFieldCell 주위에 있음)을 얻으려고합니다. 어떻게 든 이것을 관리하는 방법이 있습니까? 동시에 사용자는 두 번 클릭하여 텍스트를 변경할 수 있어야합니다.NSTextFieldCell의 포커스 링을 숨기는 방법?

테이블 자체에 대해서는이 설정을 사용하여 제거했습니다. 포커스 링 옵션을 없음으로 설정합니다. 하지만 불행히도 어떤 텍스트 필드에서도 찾을 수 없습니다 ...

답변

15

문서를 볼 때 수퍼 클래스를 반드시 확인하십시오. 이 경우 NSTextFieldCellNSCell에서 상속되므로 -[NSCell setFocusRingType:]을 사용하려고합니다.

이 집중되기 전에 세포를 얻을 수있는 가장 쉬운 방법은 아마도 NSTableViewDelegate 방법 tableView:shouldEditTableColumn:row:

- (BOOL)tableView:(NSTableView *)tableView 
shouldEditTableColumn:(NSTableColumn *)tableColumn 
        row:(NSInteger)row 
{   
    NSTextFieldCell * cell = [tableColumn dataCellForRow:row]; 
    [cell setFocusRingType:NSFocusRingTypeNone]; 
    return YES; 
} 
+0

당신을 감사합니다! 그러나이를 표보기에 어떻게 적용 할 수 있습니까? 'NSTextFieldCells'에 직접 접근 할 수 없기 때문에'setFocusRingType'을 어디에서 호출해야할지 모르겠습니다. –

+0

당신은 당신이 테이블 뷰에 대해 말하고 있다고 말하지 않았습니다 ... –

+0

@ shynion : 테이블 뷰에 적용 할 답변을 업데이트했습니다. –