Iphone UITabBar每次都会更改为新选项卡,而不会滚动到中间 < >我想创建一个Tabar,它有15个项目,可以向右滚动和中间停止,而不是每次滚动5个项目320时,
我找到了一个代码,并将其更改为显示5项,但当我滚动它时,所有选项卡都更改了,下一个选项卡显示了5项,依此类推Iphone UITabBar每次都会更改为新选项卡,而不会滚动到中间 < >我想创建一个Tabar,它有15个项目,可以向右滚动和中间停止,而不是每次滚动5个项目320时,,iphone,objective-c,uitabbarcontroller,uitabbaritem,Iphone,Objective C,Uitabbarcontroller,Uitabbaritem,我找到了一个代码,并将其更改为显示5项,但当我滚动它时,所有选项卡都更改了,下一个选项卡显示了5项,依此类推 - (id)initWithItems:(NSArray *)items { self = [super initWithFrame:CGRectMake(0.0, 411.0, 320.0, 49.0)]; if (self) { self.pagingEnabled = YES; self.delegate = s
- (id)initWithItems:(NSArray *)items {
self = [super initWithFrame:CGRectMake(0.0, 411.0, 320.0, 49.0)];
if (self) {
self.pagingEnabled = YES;
self.delegate = self;
self.tabBars = [[[NSMutableArray alloc] init] autorelease];
float x = 0.0;
for (double d = 0; d < ceil(items.count / 5.0); d ++) {
UITabBar *tabBar = [[UITabBar alloc] initWithFrame:CGRectMake(x, 0.0, 320.0, 49.0)];
tabBar.delegate = self;
int len = 0;
for (int i = d * 5; i < d * 5 + 5; i ++)
if (i < items.count)
len ++;
tabBar.items = [items objectsAtIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(d * 5, len)]];
[self addSubview:tabBar];
[self.tabBars addObject:tabBar];
[tabBar release];
x += 320.0;
}
self.contentSize = CGSizeMake(x, 49.0);
}
return self;
}
如何创建“橡胶效果”,以便我可以停止在7个项目上,例如。您必须使用与您引用的设计不同的设计。如果仔细查看代码,您会注意到,每5项都会创建一个新的选项卡栏。显然,您希望的功能在这种设置中是不可行的
另一种方法是使用您自己的UIScrollView重写此内容。要准确地获得UITabBar的外观和感觉可能很有挑战性,但这可能不是一个重要的限制。相反,你可以自由地实现自己的设计,使之与应用程序的外观相协调。你的问题并不清楚。什么是橡皮效果?因此,您不会每次更改5个项目,您可以向左滚动例如3个项目,而不更改所有选项卡。您有一些项目的UIScrollView示例吗?如果它不像UITabBar,我会设计它…真的是任何UIScrollView。看看这些文件。设置contentSize,在适当的位置插入按钮或图像,然后可以设置contentOffset以显示所需的位置。如果我理解正确的话,使用PaginEnabled,您将具有橡胶效果。