0

我们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,以便它靠近底部工具栏?

4

0 回答 0