我找到了一个没有任何副作用的更好的解决方案。
您可以在 JSQMessagesViewController 的后代类中进行操作。
1.使这个基类方法可供您使用:
@interface JSQMessagesViewController ()
- (void)jsq_setCollectionViewInsetsTopValue:(CGFloat)top
bottomValue:(CGFloat)bottom;
@end
2.覆盖方法的父实现(大小改变时调用):
- (void)jsq_updateCollectionViewInsets {
CGFloat topInset = self.topLayoutGuide.length + self.topContentAdditionalInset;
CGFloat bottomInset = 0.0;
[self jsq_setCollectionViewInsetsTopValue:topInset bottomValue:bottomInset];
}
3.编写永久隐藏输入工具栏的方法:
- (void)hideInputToolbar {
self.inputToolbar.hidden = YES;
[self jsq_updateCollectionViewInsets];
}
4.享受!