uiscrollview 删除子view时,继续滚动到被删除的索引。

问题:我在做一个相册的时候,如果删除uiscrollerview的元素,假如原本scroll的元素为9,然后我 删除1个,元素,接着把9个元素都删除掉,再重新添加8个元素,结果scroller在滚动时也可以滚动到第9个位置上。这是如果删除第9个元素,会报错,解决办法是动态的设置uisrollerview的contentSize。这样就可以了。

例子代码如下

 1 //更新相片
 2 -(void)UpdatePhoto
 3 {
 4       NSLog(@"imageNameCount:%d---scrollIndex:%d",self.imageNameArray.count,scrollIndex);
 5     for(int i = 0;i<self.imageNameArray.count;i++)
 6     {
 7         UIView *bgView = [[UIView alloc]initWithFrame:CGRectMake(1024*i, 0, 1024, 700)];
 8         bgView.backgroundColor = [UIColor blackColor];
 9         
10         UIImageView *photoView = [[UIImageView alloc]init];
11         photoView.image = [self.bigImageArray objectAtIndex:i];
12         photoView.frame = CGRectMake(0, 0, photoView.image.size.width, photoView.image.size.height);
13         photoView.center = CGPointMake(512, 359);
14         
15         [bgView addSubview:photoView];
16         [photoScrollView addSubview:bgView];
17     }
//添加这一句就行了。
18 self.photoScrollView.contentSize = CGSizeMake(1024*self.imageNameArray.count, 700); 19 20 CGRect Positionframe = CGRectMake(1024*scrollIndex, 0, 1024, 700); 21 [self.photoScrollView scrollRectToVisible:Positionframe animated:NO]; 22 }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值