gpt4 book ai didi

iOS 6 '-[UITextView setTextContainerInset:]: unrecognized selector sent to instance 0x1d68e600'

转载 作者:行者123 更新时间:2023-11-29 02:33:06 25 4
gpt4 key购买 nike

到目前为止,我只收到一份关于这次崩溃的报告:

'-[UITextView setTextContainerInset:]: 无法识别的选择器发送到实例 0x1d68e600'

我不确定为什么会这样。我无法重现该问题。我的实际代码行是这样的:

UITextView *someInfo = = [[UITextView alloc] initWithFrame:CGRectMake(x, y, 100, 30)];
someInfo.textContainerInset = UIEdgeInsetsMake(0, HORIZONTAL_PADDING, 0, HORIZONTAL_PADDING);

但我不明白为什么它说选择器发送不正确。我也确实注意到该错误在某人的 iphone 4 上崩溃,当时他们正在运行 ios 6.1.3。这是 iOS 7 之前的特定内容吗??

最佳答案

要点:

  1. 如果您在低于 iOS 7.0 的版本中构建您的应用程序,它甚至不会编译。它将显示错误 unrecognized selector sent to instance

  2. 但是您在问题中提到“我确实也注意到该错误在某人的 iphone 4 上崩溃了”。由此我可以假设您正在 iOS 7.0 或更高版本中创建构建。

  3. 问题是因为向后兼容性。当您允许您的应用程序在早期版本上运行时,您需要注意这类事情。

您必须实现条件来检查版本兼容性。

#if __IPHONE_6_0 || __IPHONE_6_1

#else

#endif

编辑:

对于 Pre iOS 7.0,您需要使用 NSAttributedStringNSMutableParagraphStyle

对于左右边距,不要立即添加纯文本,而是使用 NSAttributedString 并使用 NSMutableParagraphStyle 正确设置左右缩进:

NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.headIndent = 20.0;
paragraphStyle.firstLineHeadIndent = 20.0;
paragraphStyle.tailIndent = -20.0;

NSDictionary *attrsDictionary = @{NSFontAttributeName: [UIFont fontWithName:@"TrebuchetMS" size:12.0], NSParagraphStyleAttributeName: paragraphStyle};
textView.attributedText = [[NSAttributedString alloc] initWithString:myText attributes:attrsDictionary];

以上代码直接来自这个答案:

Set padding in UITextView

关于iOS 6 '-[UITextView setTextContainerInset:]: unrecognized selector sent to instance 0x1d68e600',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26667503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com