Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone UITabBar每次都会更改为新选项卡,而不会滚动到中间 < >我想创建一个Tabar,它有15个项目,可以向右滚动和中间停止,而不是每次滚动5个项目320时,_Iphone_Objective C_Uitabbarcontroller_Uitabbaritem - Fatal编程技术网

Iphone UITabBar每次都会更改为新选项卡,而不会滚动到中间 < >我想创建一个Tabar,它有15个项目,可以向右滚动和中间停止,而不是每次滚动5个项目320时,

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

我找到了一个代码,并将其更改为显示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 = 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,您将具有橡胶效果。