Adding ScrollView to a BottomView of Horizontal Split View in Cocoa
I have a custom View which i would like to place on a bottom view of split view dynamically. I need a scroll view for that bottom view. How can I get a scroll view for a bottom view of horizontal split view?
P开发者_开发问答leas help me on this.
Thanks in Advance bp
In IB:
- Make the top and bottom views.
- Select the bottom view and choose Layout → Embed Objects In → Scroll View.
- Select the top and bottom views and choose Layout → Embed Objects In → Split View.
I made TUSplitSyncScrollView like below images.
In this code, I used KVO for observing another window's behavior as below:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context;
{
if (keyPath == @"observedPresentScale") {
// 自身のzoomScaleに監視しているobservedPresentScaleの値を代入する
// まず拡大縮小可能にする
self.maximumZoomScale = 1000.0;
self.minimumZoomScale = 0.001;
self.zoomScale = [change[@"new"] floatValue];
// ここで拡大縮小禁止にする
self.maximumZoomScale = self.zoomScale;
self.minimumZoomScale = self.zoomScale;
printf("zoomScale = %f\n", self.zoomScale);
}
else if (keyPath == @"observedContentOffsetY") {
self.contentOffset = CGPointMake(self.contentOffset.x, [change[@"new"] floatValue]);
}
}
And both two views observe each other.
int opt = NSKeyValueObservingOptionOld | NSKeyValueObservingOptionNew;
// rightSplitedScrollViewをleftSplitedScrollViewのオブザーバにする
[leftSplitedScrollView addObserver:rightSplitedScrollView forKeyPath:@"observedPresentScale" options:opt context:NULL];
[leftSplitedScrollView addObserver:rightSplitedScrollView forKeyPath:@"observedContentOffsetY" options:opt context:NULL];
// leftSplitedScrollViewをrightSplitedScrollViewのオブザーバにする
[rightSplitedScrollView addObserver:leftSplitedScrollView forKeyPath:@"observedContentOffsetY" options:opt context:NULL];
// [rightSplitedScrollView addObserver:leftSplitedScrollView forKeyPath:@"observedPresentScale" options:opt context:NULL];
You can run the actual project from here:https://github.com/weed/TUSplitSyncScrollView
精彩评论