1

所以问题是:如何手动滑动到 TTTabStrip 中的特定项目(将所选内容置于中心或使内容偏移)


@interface TTT : NSObject {
  TTTabStrip* _slider;
}

@implementation TTT

_slider.selectedTabIndex = index;

//这将在 TTTabStrip 视图中选择项目,如果项目不在屏幕上,它将不会显示在 _slider 视图显示中。需要将内容偏移设置为内部滚动视图。

所以主要的策略是将选中的项目偏移到 _slider 视图的中心。

4

2 回答 2

0

另一种方法是从 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 回答