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 }
分类:
iphone question
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决