在 inputAccessoryView 上方插入子视图
Posted
技术标签:
【中文标题】在 inputAccessoryView 上方插入子视图【英文标题】:Insert subview above inputAccessoryView 【发布时间】:2016-05-06 17:55:06 【问题描述】:我的问题是: 我有一个带有输入附件视图的 UIViewController:
class ChatViewController: UIViewController
override var inputAccessoryView: UIView!
get return customToolbar
我希望能够在 inputAccessoryView 上方添加一个子视图,如下所示:
let customView = UIView()
customView.backgroundColor = UIColor.blueColor()
self.view.insertSubview(customView, aboveSubview: self.inputAccessoryView)
但由于某些原因,inputAccessoryView 总是在最前面。
每次我想添加一个子视图(例如全屏)时,我都想过隐藏它,但这不是超级干净,每次我删除我的子视图时我都必须把它放回去。
这就是我现在所拥有的,我只是希望我的工具栏位于透明覆盖层的后面。
【问题讨论】:
仅使用 view.addSubview(customView) 怎么样,其中 view 是附件视图 @rMickeyD 好吧,这些视图之间没有联系。例如,我不希望它与 inputAccessoryView 一起移动。基本上我只想在我的ChatViewController
全屏上添加叠加层。
你有截图例子吗?
@rMickeyD 刚刚添加。
【参考方案1】:
尝试将透明覆盖添加到 Objective-C 中的 keyWindow,它看起来像
[[[UIApplication sharedApplication].windows lastObject] addSubview :customView];
【讨论】:
试试 [[[UIApplication sharedApplication].windows lastObject] addSubview:customView];在翻译成swift之前。我已经检查过了,可以了以上是关于在 inputAccessoryView 上方插入子视图的主要内容,如果未能解决你的问题,请参考以下文章
更新 SwiftUI 中的 inputAccessoryView (UIViewRepresentable)
inputAccessoryView 没有在 iPhone X 上获得触摸事件