我有一個自定義視圖,我想將其放置在動態分割視圖的底部視圖上。我需要該底部視圖的滾動視圖。如何獲得水平分割視圖底部視圖的滾動視圖?將ScrollView添加到可可中的水平分割視圖的底視圖
請幫我解決這個問題。
由於提前 BP
我有一個自定義視圖,我想將其放置在動態分割視圖的底部視圖上。我需要該底部視圖的滾動視圖。如何獲得水平分割視圖底部視圖的滾動視圖?將ScrollView添加到可可中的水平分割視圖的底視圖
請幫我解決這個問題。
由於提前 BP
在IB:
我製作了TUSplitSyncScrollView,如下圖所示。
在這段代碼中,我用國際志願者組織觀察其他窗口的行爲如下:
- (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]);
}
}
且兩個視圖觀察對方。
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];
從這裏你可以運行的實際項目:https://github.com/weed/TUSplitSyncScrollView