更新:我使用选择器上的自定义视图而不是字符串解决了这个问题。仍然很好奇为什么会发生这种情况。
我们只有两位用户报告了这个错误,到目前为止,这很奇怪。我无法在SIM卡或任何测试设备上复制它。基本上,对于这一个用户,UIPickerView显示一切都很暗。这是一张它应该如何看的图像:
以下是用户手机上报告错误的内容:
乍一看,漏洞的挑选者视图显示为黑色。但是如果你一直调高屏幕亮度并且非常仔细地观察,你会发现选择器视图实际上是存在的(同样,如果没有那么,textview也不会填充) 。选择器视图显示几乎为黑色的背景和黑色文本。
我没有做任何棘手的事情或搞乱选择器视图的框架来创建或管理它:
- (UIPickerView *)pickerView
{
if (!_pickerView) {
_pickerView = [[UIPickerView alloc] init];
_pickerView.delegate = self;
_pickerView.dataSource = self;
}
return _pickerView;
}
我没有使用任何自定义视图,只是在pickerView中分配字符串:titleForRow:forComponent
#pragma mark picker datasource
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return self.rowTitlesForComponent.count;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return ((NSArray *)self.rowTitlesForComponent[component]).count;
}
#pragma mark - picker delegate
- (NSString *)pickerView:(UIPickerView *)pickerView
titleForRow:(NSInteger)row
forComponent:(NSInteger)component
{
return self.rowTitlesForComponent[component][row];
}
这是我的预感:我将选择器视图分配给文本字段的输入视图,以便它弹出一个键盘":
self.textField.inputView = self.pickerView;
textview是自定义tableview单元格的子视图。此自定义tableview单元格是另一种类型的tableview单元格的子类,其中包含弹出普通uikeyboards的文本视图。在这个超类中,我将键盘外观分配给UIKeyboardAppearanceDark。奇怪的是,这影响了我们用户的1%左右,所以也许是因为操作系统版本和代码的组合还是什么?
我尝试搞乱手机上的所有辅助功能设置,但无法复制。
你知道可能导致这种情况的原因吗?