2

当可访问性打开时,我的自定义 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

有任何想法吗?

4

0 回答 0