UIPickerView 自定义视图奇怪的行为
Posted
技术标签:
【中文标题】UIPickerView 自定义视图奇怪的行为【英文标题】:UIPickerView custom view strange behavior 【发布时间】:2013-10-18 13:33:10 【问题描述】:我遇到了 UIPickerView 的问题...
我创建了一个 UIPickerView,其中包含两个组件,第一个组件为两行,第二个组件为三行。 我正在尝试为每个组件中的每一行创建一个自定义视图。好的,我将 UIView 子类化并添加了一个 UIImageView 和一个 UILabel。
我已经使用- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
方法来创建自定义视图,它似乎工作正常。
但是当每一行“进入”UIPickerView的中间区域时,所有的内容都消失了!
这是一张图片:
有人有想法吗?
【问题讨论】:
【参考方案1】:我遇到了类似的问题,在***上找到了解决方法——但是我找不到链接,所以我附上了下面的代码。需要明确的是——我并没有声称这个代码是我自己的。如果有人找到原始答案,请投票支持他们的答案
// self.myImages is an array of UIImageView objects
UIView * myView = [self.myImages objectAtIndex:row];
// first convert to a UIImage
UIGraphicsBeginImageContextWithOptions(myView.bounds.size, NO, 0);
[myView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// then convert back to a UIImageView and return it
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
return imageView;
【讨论】:
以上是关于UIPickerView 自定义视图奇怪的行为的主要内容,如果未能解决你的问题,请参考以下文章
UIPickerView 点击滚动和自定义行 UIViews
使用自动布局的 IB_DESIGNABLE 自定义视图的错位视图警告和奇怪行为