我似乎有一个漏水的UIDatePicker。我注意到在设置datePickerMode以显示日期和时间时发生了内存泄漏。但是,我只是想显示日期。我相当确定这是一个框架泄漏,因为当我注释掉几个UIDatePicker属性赋值时,泄漏就消失了。此代码泄漏1个CGColor对象和1个UIDeviceRGBColor对象:
datePicker = [[UIDatePicker alloc] initWithFrame:[self detailViewRect]];
datePicker.datePickerMode = UIDatePickerModeDate; //leaks CGColor when setting this
datePicker.hidden = NO;
datePicker.timeZone = [NSTimeZone systemTimeZone]; //leaks UIDeviceRGBColor
datePicker.maximumDate = [NSDate date];//leaks UIDeviceRGBColor
datePicker.autoresizingMask = UIViewAutoresizingFlexibleWidth;通过注释Instruments报告为违规的行,我没有得到任何泄漏:
datePicker = [[UIDatePicker alloc] initWithFrame:[self detailViewRect]];
//datePicker.datePickerMode = UIDatePickerModeDate; //leaks CGColor when setting this
datePicker.hidden = NO;
//datePicker.timeZone = [NSTimeZone systemTimeZone]; //leaks UIDeviceRGBColor
//datePicker.maximumDate = [NSDate date];//leaks UIDeviceRGBColor
datePicker.autoresizingMask = UIViewAutoresizingFlexibleWidth;如果至少没有设置date模式,UIDatePicker就毫无价值。有谁有变通办法吗?
发布于 2012-12-20 11:16:31
这种方法对我很有效:
在xib中创建DatePicker,而不是使用编程方法。然后,在属性检查器上,将模式设置为日期。
https://stackoverflow.com/questions/12830278
复制相似问题