2014-10-12 1 views
0

2 개의 테이블 뷰가 포함 된 세로 세로 사용자 정의보기 (이 열보기라고 부름)가있는 응용 프로그램의 오른쪽 패널 영역이 있습니다. 각 테이블 뷰는 스크롤되지 않으며 표준 클립 뷰 및 스크롤 뷰에 포함되어 있지만 테이블 뷰의 세로 높이는 포함 된 총 행 수와 같으며 바운스가 비활성화됩니다. 행 수가 늘어 나면 배경 열보기의 높이가 증가하고 세로로 스크롤해야합니다. 또한 스크롤 뷰에 포함됩니다. 이 여기에, 그것보다 더 복잡 소리 그림입니다 : 배경 열보기의NSScrollView에 포함 된 사용자 정의보기의 NSTableView에서 스크롤 문제가 발생했습니다.

enter image description here

스크롤 잘 한 마우스 포인터, 즉 tableviews 이상, 빨간 상자 안에 아니므로 작동합니다. 열보기 내에서 마우스의 위치에 관계없이 세로로 스크롤 할 수 있어야합니다. 어떤 아이디어?

업데이트 : 여기에 (그 부분은 tableviews 있습니다 가정) Tweetbot에, 정확하게있는 ScrollView 작업에 포함 tableviews이 곳의 주류 예를

enter image description here

+0

타임 라인 스냅 샷은 주로 테이블 뷰 기반 섹션과 유사합니다. – GoodSp33d

+0

좋은 지적입니다. 좋은 예입니다. 지적 해 주셔서 고맙습니다. – demianturner

답변

1

다른 하나의 내부 스크롤 뷰를 원한다면입니다 (빨간색 영역). 내부 스크롤보기 scrollWheel 동작을 비활성화해야합니다.

- (void)scrollWheel:(NSEvent *)theEvent { 
    // If scroll is disabled, send action to next responder 
    if (self.scrollEnabled == NO) { 
    [self.nextResponder scrollWheel:theEvent]; 
    } 
    else { 
    [super scrollWheel:theEvent]; 
    } 
} 

을하지만 다른 스크롤 뷰 내부 스크롤 뷰를 가질 필요가 있다고 생각하지 않습니다 당신은 다음과 같은 방법을 사용자 정의 NSScrollView 서브 클래스를 작성하고, 추가하여 그것을 달성 할 수있다. 오히려 당신은 '섹션 헤더'와 '셀'을위한 두 종류의 셀을 가진 하나의 테이블 뷰를 사용할 수 있습니다.

이렇게하면 iOS와 같이 여러 개의 섹션으로 구성된 하나의 표보기를 사용할 수 있습니다.

+0

섹션 기반 접근 방식의 경우 +1입니다. 그것은 더 깨끗한 구현 일 것이다. – GoodSp33d

+0

감사합니다. Krzysztof, 그 트릭을했습니다. NSScrollView에 scrollEnabled 속성이 없지만 괜찮습니다. 어쨌든 비활성화하지 않았습니다. – demianturner

+0

네, 죄송합니다. 헤더 파일에 추가해야합니다. – Krzysztof

관련 문제