首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jsqmessageviewcontroller ios11工具栏

jsqmessageviewcontroller ios11工具栏
EN

Stack Overflow用户
提问于 2017-09-27 05:17:05
回答 7查看 2.6K关注 0票数 7

我已经尝试过JSQMessageViewController在iOS 11模拟器中的快速示例。结果如下:屏幕截图

我试过使用安全区域边距和修改工具栏约束,但仍然没有区别。工具栏似乎在UIWindow之外(而不是UITextEffectsWindow)。有什么解决办法吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2017-10-25 02:47:50

伙计们,我想通了!只需将以下代码放入JSQMessagesInputToolbar.m中即可。似乎输入工具栏被放置在自己的窗口中,您需要单独访问它的窗口。

代码语言:javascript
复制
-(void) didMoveToWindow{
[super didMoveToWindow];
 if (@available(iOS 11.0, *)) {
     [[self bottomAnchor] constraintLessThanOrEqualToSystemSpacingBelowAnchor:self.window.safeAreaLayoutGuide.bottomAnchor multiplier:1.0].active = YES;
     }
}
票数 5
EN

Stack Overflow用户

发布于 2018-03-13 12:36:24

只需为JSQMessagesInputToolbar添加一个扩展

代码语言:javascript
复制
extension JSQMessagesInputToolbar {
    override open func didMoveToWindow() {
        super.didMoveToWindow()
        if #available(iOS 11.0, *), let window = self.window {
            let anchor = window.safeAreaLayoutGuide.bottomAnchor
            bottomAnchor.constraintLessThanOrEqualToSystemSpacingBelow(anchor, multiplier: 1.0).isActive = true
        }
    }
}
票数 10
EN

Stack Overflow用户

发布于 2017-11-08 09:53:46

我提议一个基于JSQ最新develop分支提交的固定分叉。

它正在使用didMoveToWindow解决方案。不理想,但值得尝试,同时等待苹果的答案,关于inputAccessoryView的安全区布局指南附件,或任何其他更好的解决办法。

您可以将其添加到您的Podfile中,替换前面的JSQ行:

代码语言:javascript
复制
pod 'JSQMessagesViewController', :git => 'https://github.com/Tulleb/JSQMessagesViewController.git', :branch => 'develop', :inhibit_warnings => true
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46439975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档