启用辅助功能时,我的自定义UIPickerView崩溃 . 我正在使用以下代码(简化;是的,我想/需要在这里使用组件视图的子视图) .
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
{
UILabel *columnView;
if (!view)
{
view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 30)];
columnView = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 50.f, 30)];
[view addSubview:columnView];
}
else {
columnView = [view subviews][0];
}
columnView.text = [NSString stringWithFormat:@"%d", row];
}
return view;
}
堆:
* thread #1: tid = 0x1ffb16, 0x325a6c64 libobjc.A.dylib`objc_exception_throw, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
frame #0: 0x325a6c64 libobjc.A.dylib`objc_exception_throw
frame #1: 0x24ef8b48 CoreFoundation`-[NSException raise] + 8
frame #2: 0x25bdbdda Foundation`-[NSObject(NSKeyValueCoding) valueForUndefinedKey:] + 262
frame #3: 0x25b42ea6 Foundation`-[NSObject(NSKeyValueCoding) valueForKey:] + 202
frame #4: 0x292840ec AccessibilityUtilities`-[NSObject(UIAccessibilitySafeCategory) safeValueForKey:] + 104
frame #5: 0x2360c112 UIKit`-[UIAccessibilityPickerComponent accessibilityTraits] + 358
frame #6: 0x235e76c8 UIKit`__68-[UIApplicationAccessibility _findContainerAccessibleElement:first:]_block_invoke + 76
frame #7: 0x2f73dc1c UIAccessibility`-[NSObject(AXPrivCategory) accessibilityEnumerateContainerElementsWithOptions:usingBlock:] + 276
frame #8: 0x235e7602 UIKit`-[UIApplicationAccessibility _findContainerAccessibleElement:first:] + 330
frame #9: 0x235e7d76 UIKit`-[UIApplicationAccessibility _accessibilityElementFirst:last:forFocus:] + 490
frame #10: 0x235e80ba UIKit`-[UIApplicationAccessibility _accessibilityFirstElementForFocus] + 30
frame #11: 0x235ea8ec UIKit`-[UIApplicationAccessibility accessibilityAttributeValue:] + 352
frame #12: 0x2f7355a6 UIAccessibility`_copyAttributeValueCallback + 122
frame #13: 0x2920ceec AXRuntime`_AXXMIGCopyAttributeValue + 116
frame #14: 0x29208ea4 AXRuntime`_XCopyAttributeValue + 300
frame #15: 0x29212bb6 AXRuntime`mshMIGPerform + 242
frame #16: 0x24ebedaa CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34
frame #17: 0x24ebed46 CoreFoundation`__CFRunLoopDoSource1 + 346
frame #18: 0x24ebd348 CoreFoundation`__CFRunLoopRun + 1608
frame #19: 0x24e0b620 CoreFoundation`CFRunLoopRunSpecific + 476
frame #20: 0x24e0b432 CoreFoundation`CFRunLoopRunInMode + 106
frame #21: 0x2c1b90a8 GraphicsServices`GSEventRunModal + 136
frame #22: 0x283f5808 UIKit`UIApplicationMain + 1440
* frame #23: 0x000db7f4 ds`main(argc=1, argv=0x001eab08) + 116 at main.m:14
有任何想法吗?