1

したがって、質問は次のとおりです。TTTabStripの特定のアイテムに手動でスライドする方法(選択したものを中央に配置するか、コンテンツをオフセットする)


@interface TTT : NSObject {
  TTTabStrip* _slider;
}

@implementation TTT

_slider.selectedTabIndex = index;

//これにより、TTTabStripビューでアイテムが選択され、アイテムが画面外にある場合は、_sliderビューの表示に表示されます。必要なのは、コンテンツオフセットを内部スクロールビューに設定することです。

したがって、主な戦略は、選択したアイテムを_sliderビューの中心にオフセットすることです。

4

2 に答える 2

0

もう1つの方法は、TTTabStripからサブビューを取得することです。これがUIScrollViewの場合は、オブジェクトです。

@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
于 2010-12-14T08:23:45.150 に答える
-1

TTTabStripに新しい関数を追加しました。オフセットは手動で入力する必要がありますが、私の問題に適合します。


@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
于 2010-12-12T16:55:28.530 に答える