坑1: iOS7及以上的版本上蜕窿,UITextView出現(xiàn)這樣的問題:彈出鍵盤時(shí),沒輸入任何文字,但是光標(biāo)位置不是在最上方腐泻。
解決方案: iOS7以后新增了一個(gè)屬性automaticallyAdjustsScrollViewInsets,將其置為NO即可队询。
別忘了加版本判斷派桩。
if (IOS7_And_Later) {
self.automaticallyAdjustsScrollViewInsets = NO;
}
坑2: iOS7及以上的版本上,UITextView輸入中文時(shí)娘摔,在輸入多行后窄坦,光標(biāo)有時(shí)會(huì)上下跳動(dòng),輸入文字的時(shí)候內(nèi)容有時(shí)會(huì)往上跳凳寺,光標(biāo)都顯示不出來鸭津。
記得這個(gè)bug在我做IM項(xiàng)目聊天輸入框的時(shí)候坑了我好幾天,不得已找一些非正常的方法解決
肠缨。從網(wǎng)上找的各種解決方案都不行逆趋。
解決方案:
- (void)textViewDidChangeSelection:(UITextView *)textView
{
if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1) {
CGRect r = [textView caretRectForPosition:textView.selectedTextRange.end];
CGFloat caretY = MAX(r.origin.y - textView.frame.size.height + r.size.height + 8, 0);
if (textView.contentOffset.y < caretY && r.origin.y != INFINITY) {
textView.contentOffset = CGPointMake(0, caretY);
}
}
}