2010-04-03 3 views

Répondre

1

Dans IB:

  1. Rendez les vues du haut et du bas.
  2. Sélectionnez la vue du bas et choisissez Mise en page → Incorporer les objets dans → Afficher défilement.
  3. Sélectionnez les vues du haut et du bas et choisissez Mise en page → Incorporer les objets dans → Vue partagée.
0

J'ai fait TUSplitSyncScrollView comme ci-dessous images.

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

Dans ce code, j'utilisé KVO pour observer le comportement d'une autre fenêtre ci-dessous:

- (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]); 
    } 
} 

Et les deux deux points de vue s'observent.

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]; 

Vous pouvez exécuter le projet réel d'ici: https://github.com/weed/TUSplitSyncScrollView

Questions connexes