使用带有 UITextView 的特定键盘的错误
Posted
技术标签:
【中文标题】使用带有 UITextView 的特定键盘的错误【英文标题】:Bug using specific keyboard with UITextView 【发布时间】:2012-11-12 22:19:08 【问题描述】:我使用“单一视图”应用程序模板启动了一个 Xcode 项目,并在 viewDidLoad 中向模板创建的 ViewController 类添加了两行:
UITextView *textView = [[UITextView alloc] initWithFrame:CGRectInset(self.view.bounds, 10, 10)];
[self.view addSubview:textView];
在模拟器中,我启用了“简体中文”“笔画”键盘。
当我使用 UITextView 时,切换到此键盘,并触摸 ^_^ 键,控制台出现以下错误:
<Error>: CGContextSaveGState: invalid context 0x0
<Error>: CGContextDrawLinearGradient: invalid context 0x0
<Error>: CGContextSetFillColorWithColor: invalid context 0x0
<Error>: CGContextFillRects: invalid context 0x0
<Error>: CGContextFillRects: invalid context 0x0
<Error>: CGContextSetFillColorWithColor: invalid context 0x0
<Error>: CGContextFillRects: invalid context 0x0
<Error>: CGContextSaveGState: invalid context 0x0
<Error>: CGContextDrawLinearGradient: invalid context 0x0
<Error>: CGContextSetFillColorWithColor: invalid context 0x0
<Error>: CGContextFillRects: invalid context 0x0
<Error>: CGContextFillRects: invalid context 0x0
<Error>: CGContextSetFillColorWithColor: invalid context 0x0
<Error>: CGContextFillRects: invalid context 0x0
这是一个错误吗?我应该担心吗?
【问题讨论】:
您是否在 drawRect: 之外与 Core Graphics 进行交互? 不 - 除了添加这两行代码之外,我什么也没做。 【参考方案1】:我已经在 ios 6.0 模拟器和运行 iOS 6.0.1 的 iPhone 4S 上重现了该错误,但在 iOS 5.0 模拟器中并没有发生。这是 iOS 6 中的一个错误。您应该在 http://bugreport.apple.com 打开一个错误报告。
也就是说,它似乎并没有特别有害,所以我不会担心。
【讨论】:
谢谢。今天两行代码和两个问题。至少有两个很好的答案。 不幸的是,这可能与更严重的错误有关。开始使用中文拼音键盘输入并弹出建议。现在按下电源按钮关闭屏幕 - 应用程序崩溃。这是 iOS 6 的新功能,也会影响使用日语输入的用户。【参考方案2】:当我启用“简体中文”键盘时,它也发生在 iOS 7.0.3 模拟器中。
但在iOS 7.1模拟器和iOS 8模拟器中消失了。
【讨论】:
以上是关于使用带有 UITextView 的特定键盘的错误的主要内容,如果未能解决你的问题,请参考以下文章
带有 UITextView 的 iOS 7 UITableViewCell 隐藏在键盘后面
当键盘出现时,带有大单元格的 UITableViewController 会崩溃,隐藏 UITextView
iPad 上带有 UITextView 的 InputAccessoryView
当通过点击背景关闭 UITextView 的键盘时,我在 didSelectRowAt 中得到错误的 indexPath