我在不同屏幕上的应用中有一些UISearchBars
和一个UITextView
。
使用iOS 8.3表情符号键盘应该是可滚动的,但它不适用于任何屏幕。
我试图找到一些相似性或从我的控制器中删除UIKeyboardWillShow - and -HideNotification
但没有任何改变。
这就是我在Code中使用TextView所做的一切:
@property (weak, nonatomic) IBOutlet UITextView *textView;
- (void)viewDidLoad
{
... some code ...
[self.textView setFont:...];
[self.textView setTextContainerInset:...];
[self.textView setText:...];
... some code ...
}
- (void)updateView
{
... some code ...
[self.textView setEditable:YES];
... some code ...
}
#pragma mark - TEXTVIEW DELEGATE
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
... some code ...
return changedText.length <= maxLength;
}
- (void)textViewDidChange:(UITextView *)textView
{
... some code ...
[textView scrollRangeToVisible:range];
... some code ...
}
此Controller或任何SuperController中没有GestureRecognizers。
还有一个ScrollViewDelegate:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
[self.refreshControl scrollViewDidScroll:scrollView];
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
[self.refreshControl scrollViewDidEndDragging:scrollView];
}
没有自定义键盘。
即使我在NavigationController.view之上向我的UIWindow添加了一个新的UITextView,它也无法工作。
有人有什么想法吗?
答案 0 :(得分:0)
我解决了Bug。 我覆盖了所有UIScrollViews的delaysContentTouches,如下所示:
#import "UIScrollView+Extension.h"
@implementation UIScrollView (Extension)
- (BOOL)delaysContentTouches
{
return NO;
}
@end
现在我把它踢掉了,它的确有效! 谢谢大家的努力。