在iOS 7中重复使用UIPickerView中的视图

在iOS 7中重复使用UIPickerView中的视图,第1张

概述编辑12-14-2015:这个问题在iOS 7,iOS 8,iOS 9 …上再次经常报道.我认为苹果不再需要这种控制,应该禁止我们使用它,而不是让这样一个专业窃听器 我使用一个UIPickerView与从Xib加载的自定义视图. 我使用的方法 -(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row 编辑12-14-2015:这个问题在iOS 7,iOS 8,iOS 9 …上再次经常报道.我认为苹果不再需要这种控制,应该禁止我们使用它,而不是让这样一个专业窃听器

我使用一个UIPickerVIEw与从Xib加载的自定义视图.
我使用的方法

-(UIVIEw *)pickerVIEw:(UIPickerVIEw *)pickerVIEw vIEwForRow:(NSInteger)row     forComponent:(NSInteger)component reusingVIEw:(UIVIEw *)vIEw

从UIPickerVIEwDelegate重用我的视图.

使用iOS 6,我的UIPickervIEw工作完美,我的意见重复使用.

自从iOS 7以来,reusingVIEw总是为零,所以我需要为每行加载NIB(我有250行).我的意见是做一些治疗,所以它可以占用一小部分内存,但x250 =大的内存泄漏.

为了确定问题是什么,我用UILabel做了一个简单的项目:

-(UIVIEw *)pickerVIEw:(UIPickerVIEw *)pickerVIEw vIEwForRow:(NSInteger)row forComponent:(NSInteger)component reusingVIEw:(UIVIEw *)vIEw {    UILabel *label = (UILabel *)vIEw;    if(vIEw == nil) {        label = [[UILabel alloc] initWithFrame:CGRectMake(0,pickerVIEw.frame.size.wIDth,76)];    }    else {        NSLog(@"*******************************************************");    }    NSLog(@"Current inndex : %i",row);    label.text = [Nsstring stringWithFormat:@"TITRE %i",row];    return label;}

使用iOS 6,我的观点被正确重复使用:

2013-12-17 14:27:25.395 EssaiReusedVIEwPicker[261:907] Current inndex
: 220 2013-12-17 14:27:25.396 EssaiReusedVIEwPicker[261:907]
******************************************************* 2013-12-17 14:27:25.397 EssaiReusedVIEwPicker[261:907] Current inndex : 221
2013-12-17 14:27:25.404 EssaiReusedVIEwPicker[261:907]
******************************************************* 2013-12-17 14:27:25.407 EssaiReusedVIEwPicker[261:907] Current inndex : 222
2013-12-17 14:27:25.409 EssaiReusedVIEwPicker[261:907]
******************************************************* 2013-12-17 14:27:25.410 EssaiReusedVIEwPicker[261:907] Current inndex : 223
2013-12-17 14:27:25.411 EssaiReusedVIEwPicker[261:907]
******************************************************* 2013-12-17 14:27:25.412 EssaiReusedVIEwPicker[261:907] Current inndex : 224
2013-12-17 14:27:25.414 EssaiReusedVIEwPicker[261:907]
******************************************************* 2013-12-17 14:27:25.415 EssaiReusedVIEwPicker[261:907] Current inndex : 225
2013-12-17 14:27:25.420 EssaiReusedVIEwPicker[261:907]
******************************************************* 2013-12-17 14:27:25.424 EssaiReusedVIEwPicker[261:907] Current inndex : 227
2013-12-17 14:27:25.425 EssaiReusedVIEwPicker[261:907]

但是在iOS 7中,这是一个全新的故事:

2013-12-17 14:36:09.555 EssaiReusedVIEwPicker[7209:70b] Current inndex : 02013-12-17 14:36:09.557 EssaiReusedVIEwPicker[7209:70b] Current inndex : 12013-12-17 14:36:09.557 EssaiReusedVIEwPicker[7209:70b] Current inndex : 22013-12-17 14:36:09.560 EssaiReusedVIEwPicker[7209:70b] Current inndex : 02013-12-17 14:36:09.560 EssaiReusedVIEwPicker[7209:70b] Current inndex : 12013-12-17 14:36:09.561 EssaiReusedVIEwPicker[7209:70b] Current inndex : 22013-12-17 14:36:09.563 EssaiReusedVIEwPicker[7209:70b] Current inndex : 02013-12-17 14:36:09.563 EssaiReusedVIEwPicker[7209:70b] Current inndex : 12013-12-17 14:36:09.564 EssaiReusedVIEwPicker[7209:70b] Current inndex : 22013-12-17 14:36:09.566 EssaiReusedVIEwPicker[7209:70b] Current inndex : 02013-12-17 14:36:09.567 EssaiReusedVIEwPicker[7209:70b] Current inndex : 12013-12-17 14:36:09.567 EssaiReusedVIEwPicker[7209:70b] Current inndex : 22013-12-17 14:36:09.568 EssaiReusedVIEwPicker[7209:70b] Current inndex : 12013-12-17 14:36:09.568 EssaiReusedVIEwPicker[7209:70b] Current inndex : 22013-12-17 14:36:09.569 EssaiReusedVIEwPicker[7209:70b] Current inndex : 02013-12-17 14:36:09.569 EssaiReusedVIEwPicker[7209:70b] Current inndex : 12013-12-17 14:36:14.172 EssaiReusedVIEwPicker[7209:70b] Current inndex : 32013-12-17 14:36:14.350 EssaiReusedVIEwPicker[7209:70b] Current inndex : 32013-12-17 14:36:14.351 EssaiReusedVIEwPicker[7209:70b] Current inndex : 22013-12-17 14:36:14.367 EssaiReusedVIEwPicker[7209:70b] Current inndex : 42013-12-17 14:36:14.667 EssaiReusedVIEwPicker[7209:70b] Current inndex : 42013-12-17 14:36:14.668 EssaiReusedVIEwPicker[7209:70b] Current inndex : 32013-12-17 14:36:14.700 EssaiReusedVIEwPicker[7209:70b] Current inndex : 52013-12-17 14:36:15.067 EssaiReusedVIEwPicker[7209:70b] Current inndex : 52013-12-17 14:36:15.067 EssaiReusedVIEwPicker[7209:70b] Current inndex : 42013-12-17 14:36:15.083 EssaiReusedVIEwPicker[7209:70b] Current inndex : 62013-12-17 14:36:15.367 EssaiReusedVIEwPicker[7209:70b] Current inndex : 62013-12-17 14:36:15.367 EssaiReusedVIEwPicker[7209:70b] Current inndex : 52013-12-17 14:36:15.400 EssaiReusedVIEwPicker[7209:70b] Current inndex : 72013-12-17 14:36:16.416 EssaiReusedVIEwPicker[7209:70b] Current inndex : 7

那怎么了? iOS或…?

解决方法 我向Apple技术支持报告了我的问题.他们确认错误:

There does indeed seem to be a difference between the behavior in iOS 6 and 7.

他们要求我报告BUGr​​eport工具的错误.现在,只是等待修复:)

总结

以上是内存溢出为你收集整理的在iOS 7中重复使用UIPickerView中的视图全部内容,希望文章能够帮你解决在iOS 7中重复使用UIPickerView中的视图所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1111679.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存