2010-12-09 5 views
1

So Frage ist: Wie manuell in TTTabStrip (zum Zentrum ausgewählt Put- oder Inhalt versetzt machen) zu bestimmtem Elemente gleitenWie manuell in TTTabStrip (put in die Mitte gewählt oder Inhalt versetzt machen) zu bestimmtem Elemente gleiten


@interface TTT : NSObject { 
    TTTabStrip* _slider; 
} 

@implementation TTT 

_slider.selectedTabIndex = index; 

// Dies wird in TTTabStrip Ansicht wählen Artikel, und wenn das Element aus dem Bildschirm ist, wount es auf gezeigt werden _slider Ansicht anzeigen. Was erforderlich ist, ist das Setzen des Inhalts-Offsets auf die interne Bildlaufansicht.

Die Hauptstrategie besteht also darin, das ausgewählte Element in die Mitte der _slider-Ansicht zu versetzen.

Antwort

0

Anderer Weg ist Subviews von TTTabStrip nehmen und wenn es UIScrollView ist, dann ist es unsere Aufgabe.

@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

Ich habe TTTabStrip eine neue Funktion hinzugefügt. Das hat Offset manuell eingegeben werden, aber sie paßt zu meinem Problem:


@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

Entschuldigung, habe es ausprobiert, und der contentOffset macht keinen Unterschied! Das automatische Scrollen funktioniert nicht so. Prost –