Ios 不同项目的不同宽度-在iCarousel中

Ios 不同项目的不同宽度-在iCarousel中,ios,objective-c,icarousel,Ios,Objective C,Icarousel,我和伊卡鲁塞尔一起工作 虽然我需要更改不同项目的宽度,但这意味着为不同的项目设置不同的宽度 不确定如何进行更改,如果您对此有任何经验,请帮助 另一个问题是如何使它在滚动时只滚动1项。-表示仅滚动到下一项,当前将继续滚动到下一项中的下一项 非常感谢您的帮助。问题1: 在iCarousel itemWidth属性为只读的情况下,应使用carousel:viewForItemAtIndex:reusingView以实现此目的: @property (nonatomic, readonly) CGFlo

我和伊卡鲁塞尔一起工作

虽然我需要更改不同项目的宽度,但这意味着为不同的项目设置不同的宽度

不确定如何进行更改,如果您对此有任何经验,请帮助

另一个问题是如何使它在滚动时只滚动1项。-表示仅滚动到下一项,当前将继续滚动到下一项中的下一项

非常感谢您的帮助。

问题1:

在iCarousel itemWidth属性为只读的情况下,应使用carousel:viewForItemAtIndex:reusingView以实现此目的:

@property (nonatomic, readonly) CGFloat itemWidth;
转盘中项目的显示宽度为只读。这是 从传递到旋转木马的第一个视图自动派生 使用carousel:viewForItemAtIndex:reusingView:dataSource方法。 还可以使用carouselItemWidth:delegate替代此值 方法,该方法将更改为转盘项目分配的空间,但 不会调整或缩放项目视图

问题2:

使用此属性进行分页滚动:

@property (nonatomic, assign, getter = isPagingEnabled) BOOL pagingEnabled;
启用和禁用分页。启用寻呼时,转盘将 当用户滚动时,在每个项目视图处停止,就像 UIScrollView的可分页属性


仅滚动1项时,您必须添加手势识别器并禁用旋转木马的滚动

_myCarousel = [[iCarousel alloc] initWithFrame:CGRectMake(0,0, 310, 100)];
_myCarousel.type = iCarouselTypeCoverFlow2;                         
_myCarousel.scrollEnabled = NO;

UISwipeGestureRecognizer * swipeleft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeleft:)];
swipeleft.direction = UISwipeGestureRecognizerDirectionLeft;
[_myCarousel addGestureRecognizer:swipeleft];

UISwipeGestureRecognizer * swiperight = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swiperight:)];
swiperight.direction=UISwipeGestureRecognizerDirectionRight;
[_myCarousel addGestureRecognizer:swiperight];

_myCarousel.dataSource = self;
_myCarousel.delegate = self;
[myView addSubview:_myCarousel];
swipelft:&swiperight:将作为

-(void)swipeleft:(UISwipeGestureRecognizer*)gestureRecognizer
{ 
    [_myCarousel scrollByNumberOfItems:1 duration:0.25];
}
-(void)swiperight:(UISwipeGestureRecognizer*)gestureRecognizer
{
    [_myCarousel scrollByNumberOfItems:-1 duration:0.25];
}
按预期为我工作。
希望这会对您有所帮助。

我试图更改iCarousel,但如果我更改itemWidth,它看起来无法顺利移动


-所以我试着写我自己的旋转木马,现在它工作了。谢谢大家。

对于宽度,您可以使用委托方法carouselItemWidth并使用scrollspeed以时间滚动1个项目。CrollSpeed不用于此目的亲爱的@saurabh prajapati。我使用了carouselItemWidth,它只能设置1个项目宽度,我想为不同的项目使用不同的项目宽度。我设置了carousel:viewForItemAtIndex:reusingView,但它无法为每个视图设置itemWidth。即使我设置了不同宽度的视图,但它仍然显示相同的宽度和不同的间距。我也设置了PaginEnabled,虽然看起来不起作用,但我需要设置其他属性吗?为什么不尝试此示例进行分页:这不起作用,我想要iPhone中的摄像头应用程序之类的东西,它每次只能滚动一个项目。你对不同项目的不同项目宽度有什么想法吗?不知道为每个旋转木马项目设置不同大小的方法,但是如果你想在每个旋转木马项目上显示动态大小的图像,即图像将适合屏幕,那么我想你可以添加UIImageView和内容模式。这是一个链接,您可以根据需要设置多个视图的框架,从而在单个旋转木马项目中添加多个视图,