2012-08-27 3 views
0

여러보기를 함께 연결하고 하나의보기에서 다음보기로 자동으로 콘텐츠를 흐르게하고 싶습니다. 텍스트 컨테이너가 작동하는 방식과 내용이 컨테이너 전체에 미치는 영향을 생각해보십시오. 이 일이 어떻게 될지 아무도 모른다.NSView를 연결하여 페이지 매김을 시뮬레이트하는 방법은 무엇입니까?

+0

어떤 종류의 콘텐츠가 있습니까? – paulmelnikow

+0

서브 뷰 (NSViews)가 자동으로 확장됩니다. – panupan

답변

0

컨테이너보기 집합을 관리하는 레이아웃 관리자로 처음부터 이와 같은 것을 만들 수 있습니다.

이 코드는 수직으로 파단를 개최 컨테이너의 크기를 조정하도록 설계되었습니다

+ (void)setAndArrangeSubviews:(NSArray *)subviews inView:(NSView *)superview { 
    [superview setSubviews:subviews]; 

    NSRect superviewFrame = [superview frame]; 
    CGFloat y = superviewFrame.size.height; 
    for (NSView *subview in subviews) { 
     NSRect subviewFrame = [subview frame]; 
     subviewFrame.origin.y = (y -= subviewFrame.size.height); 
     [subview setFrame:subviewFrame]; 
    } 
} 

당신은 당신이 원하는 것을 달성하기 위해 적응할 수 : 그 다음에 남아있는 뷰를 배치, 전체 때까지 배열 파단 컨테이너에 다음 컨테이너.

뷰를 세로로 만 쌓는 것이 필요하면 원하는 것을 쉽게 수행 할 수 있습니다.

related question에 대한 대답은 Cocoa Auto Layout이라는 10.7 기능을 말합니다.이 기능을 사용하면 더 자동적으로이를 수행 할 수 있습니다.이 기능을 사용하면 2D로 배치해야 할 경우 조사 할 가치가 있습니다.

관련 문제