Добавление ScrollView в BottomView горизонтального разделения в какао - PullRequest
0 голосов
/ 03 апреля 2010

У меня есть пользовательский вид, который я хотел бы динамически разместить на виде снизу. Мне нужно представление прокрутки для этого вида снизу. Как я могу получить представление прокрутки для вида снизу горизонтального разделения?

Просьба помочь мне в этом.

Заранее спасибо п.о.

Ответы [ 2 ]

1 голос
/ 04 апреля 2010

В IB:

  1. Сделать вид сверху и снизу.
  2. Выберите вид снизу и выберите «Макет» → «Вставить объекты в» → «Просмотр прокрутки».
  3. Выберите вид сверху и снизу и выберите «Макет» → «Вставить объекты в» → «Разделить вид».
0 голосов
/ 18 июля 2013

Я сделал TUSplitSyncScrollView, как показано на картинках ниже.

enter image description here enter image description here enter image description here

В этом коде я использовал KVO для наблюдения за поведением другого окна, как показано ниже:

- (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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...