【发布时间】:2009-10-07 19:45:59
【问题描述】:
我有一个 UIPickerView,在它的委托中,我正在尝试自定义一行的视图。我使用的是 3.1 SDK。
所以在委托中我有:
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {
// view.backgroundColor = [UIColor redColor];
return view;
}
来自苹果文档: 如果先前使用的视图(视图参数)足够,则返回它。如果您返回不同的视图,则会释放先前使用的视图。选择器视图将返回的视图居中放置在行的矩形中。
当我运行它时,我的 UIPickerView 控件中没有任何项目,并且在片刻之后崩溃。 当我删除这个特定方法(对于委托是可选的)时,我可以看到我通过 titleForRow 方法设置的标签,并且它不会再崩溃。
我对可可(和可可触摸)还很陌生,我不确定 view.backgroundColor 是否会起作用,但即使返回未修改的旧视图(我必须对大多数行都这样做)也会崩溃我的应用程序。
我做错了吗?
【问题讨论】:
标签: iphone cocoa-touch iphone-sdk-3.1