2010-04-03 9 views
0

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

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

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

ответ

1

В IB:

  1. Сделать верхние и нижние взглядов.
  2. Выберите вид снизу и выберите Макет → Вставить объекты в → Прокрутить.
  3. Выберите вид сверху и снизу и выберите Макет → Вставить объекты в → Разделить.
0

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

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

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

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

Смежные вопросы