我们UIMenu
使用以下代码设置弹出窗口
private func updateThreeDotsBarButtonItem() {
let pinAction = UIAction(
title: "action_pin".localized,
image: UIImage(systemName: "pin")
) { [weak self] action in
self?.pin()
}
let menu = UIMenu(
title: "",
children: [
pinAction
]
)
// threeDotsBarButtonItem is a UIBarButtonItem
threeDotsBarButtonItem.menu = menu
}
这是我们的结果。
但是,您可能会注意到,当键盘出现时,UIMenu
弹出窗口距离底部工具栏“太远”。
这是一个不需要的副作用,由透明红色键盘 inputAccessoryView 引起。键盘 inputAccessoryView 使我们能够解决上述问题 - UIScrollView: How to kick start keyboard dismiss interactive operation (Like WhatsApp) before the drag down operation touch the keyboard?
看来,默认位置计算UIMenu
,考虑到键盘输入AccessoryView。
我想知道,
有没有办法让我们指定特定的相对 x/y 偏移量或 popup 的绝对位置UIMenu
,以便它靠近底部工具栏?