2010-12-09 36 views
1

donc question est la suivante: Comment glisser manuellement élément spécifique dans TTTabStrip (mis sélectionné au centre ou faire compenser le contenu)Comment glisser manuellement élément spécifique dans TTTabStrip (mis sélectionné au centre ou à rendre le contenu offset)


@interface TTT : NSObject { 
    TTTabStrip* _slider; 
} 

@implementation TTT 

_slider.selectedTabIndex = index; 

// Cela permet de sélectionner un objet en vue TTTabStrip, et si l'article est hors de l'écran, il wount être indiqué sur Affichage de la vue _slider. Ce qui est nécessaire est de définir le décalage de contenu à la vue de défilement interne.

La stratégie principale consiste donc à décaler l'élément sélectionné au centre de la vue _slider.

Répondre

0

Autre moyen est de prendre subviews de TTTabStrip et si elle est UIScrollView alors il est notre objet.

@interface SomeClass : UIViewController <UIScrollViewDelegate> { 
    TTTabStrip* _slider; 
    UIScrollView* _sliderScrollView; 
} 

@property (nonatomic, retain) IBOutlet TTTabBar* slider; 

@end 

@implementation SomeClass 
@synthesize slider = _slider; 

....... 

- (void) someMethod { 
     for (UIView* internalView in self.slider.subviews) { 
       if ([internalView isKindOfClass:[UIScrollView class]]) { 
         _sliderScrollView = [internalView retain]; 
         _sliderScrollView.delegate = self; 
       } 
     } 
} 

@end 
-1

J'ai ajouté une nouvelle fonction à TTTabStrip. Le décalage doit être entré manuellement, mais il correspond mon problème:


@interface TTTabStrip (Private) 
- (void)updateOverflow; 
@end 

@implementation TTTabStrip (SelectOffset) 

- (void)selectTabIndex:(NSInteger)tabIndex withOffset:(float)offset { 
    self.selectedTabIndex = tabIndex; 

    _scrollView.contentOffset = CGPointMake(offset, 0); 
    [self updateOverflow]; 

} 

@end 
+0

désolé o essayé, et le contentOffset ne fait aucune différence! Le défilement automatique ne fonctionne pas de cette façon. à votre santé –