当可访问性打开时,我的自定义 UIPickerView 崩溃。我正在使用以下代码(简化;是的,我想/需要在此处为组件视图使用子视图)。
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view { UILabel *columnView; 如果(!查看) { view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 30)]; columnView = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 50.f, 30)]; [查看 addSubview:columnView]; } 别的 { columnView = [查看子视图][0]; } columnView.text = [NSString stringWithFormat:@"%d", row]; } 返回视图; }
堆:
* 线程 #1:tid = 0x1ffb16、0x325a6c64 libobjc.A.dylib`objc_exception_throw、队列 = 'com.apple.main-thread'、停止原因 = 断点 1.1 帧#0:0x325a6c64 libobjc.A.dylib`objc_exception_throw 帧#1:0x24ef8b48 CoreFoundation`-[NSException raise] + 8 帧 #2: 0x25bdbdda Foundation`-[NSObject(NSKeyValueCoding) valueForUndefinedKey:] + 262 帧#3:0x25b42ea6 Foundation`-[NSObject(NSKeyValueCoding) valueForKey:] + 202 帧 #4: 0x292840ec AccessibilityUtilities`-[NSObject(UIAccessibilitySafeCategory) safeValueForKey:] + 104 帧 #5: 0x2360c112 UIKit`-[UIAccessibilityPickerComponentaccessibilityTraits] + 358 帧 #6: 0x235e76c8 UIKit`__68-[UIApplicationAccessibility _findContainerAccessibleElement:first:]_block_invoke + 76 框架 #7:0x2f73dc1c UIAccessibility`-[NSObject(AXPrivCategory)accessibilityEnumerateContainerElementsWithOptions:usingBlock:] + 276 帧 #8: 0x235e7602 UIKit`-[UIApplicationAccessibility _findContainerAccessibleElement:first:] + 330 帧 #9: 0x235e7d76 UIKit`-[UIApplicationAccessibility _accessibilityElementFirst:last:forFocus:] + 490 帧 #10: 0x235e80ba UIKit`-[UIApplicationAccessibility _accessibilityFirstElementForFocus] + 30 框架 #11: 0x235ea8ec UIKit`-[UIApplicationAccessibilityaccessibilityAttributeValue:] + 352 框架 #12:0x2f7355a6 UIAccessibility`_copyAttributeValueCallback + 122 帧 #13:0x2920ceec AXRuntime`_AXXMIGCopyAttributeValue + 116 帧 #14:0x29208ea4 AXRuntime`_XCopyAttributeValue + 300 帧 #15:0x29212bb6 AXRuntime`mshMIGPerform + 242 第 16 帧:0x24ebedaa CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34 第 17 帧:0x24ebed46 CoreFoundation`__CFRunLoopDoSource1 + 346 帧#18:0x24ebd348 CoreFoundation`__CFRunLoopRun + 1608 帧 #19:0x24e0b620 CoreFoundation`CFRunLoopRunSpecific + 476 帧 #20:0x24e0b432 CoreFoundation`CFRunLoopRunInMode + 106 帧 #21:0x2c1b90a8 图形服务`GSEventRunModal + 136 帧 #22:0x283f5808 UIKit`UIApplicationMain + 1440 * 帧 #23: 0x000db7f4 ds`main(argc=1, argv=0x001eab08) + 116 at main.m:14
有任何想法吗?