首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIMenu不会弹出

UIMenu不会弹出
EN

Stack Overflow用户
提问于 2021-01-04 17:48:34
回答 2查看 284关注 0票数 0

一旦用户按下正确的UIMenu,我就会弹出一个UIBarButton,但问题是UIMenu没有弹出,我不知道为什么,如果你们能帮我的话,那就太酷了。

  • 我还添加了注释代码来显示所有的尝试.

  • 我的问题是当我设置UIBarButton时,但不确定。顺便说一下!我没有使用计算属性,因为当我使用计算属性时无法编辑它们,所以我只使用了一个普通存储变量。

myCode:

代码语言:javascript
复制
// MARK: - UIBarButtonItem Creation and Configuration
    
     func configureUIButtons() {
        
//        let toolbarButtonItems = [
//            customTitleBarButtonItem,
//            flexibleSpaceBarButtonItem,
//            deleteBarButtonItem
//        ]
        
        let toolbarButtonItems = [
            markBarButtonItem, flexibleSpaceBarButtonItem, deleteBarButtonItem
        ]
        
        toolBar.setItems(toolbarButtonItems, animated: true)
    }
    
    
    
    var deleteBarButtonItem: UIBarButtonItem = UIBarButtonItem(title: "Delete", style: .plain, target: self, action: #selector(NotificationsViewController.deleteButtonItemClicked(_:)))
    
    
    
//    var deleteBarButtonItem: UIBarButtonItem {
//        let deleteBarButtonItem: UIBarButtonItem = UIBarButtonItem(title: "Delete", style: .plain, target: self, action: #selector(NotificationsViewController.deleteButtonItemClicked(_:)));
//
//        return deleteBarButtonItem
//
//    }

    
    var flexibleSpaceBarButtonItem: UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
    
    
//    var flexibleSpaceBarButtonItem: UIBarButtonItem {
//        return UIBarButtonItem(barButtonSystemItem: .flexibleSpace,
//                               target: nil,
//                               action: nil)
//    }
    
    
    
    var markBarButtonItem: UIBarButtonItem = UIBarButtonItem(title: "Mark", style: .plain, target: self, action: #selector(NotificationsViewController.markButtonItemClicked(_:)))
    
    
    
    // MARK: - Actions
    @objc
    func deleteButtonItemClicked(_ barButtonItem: UIBarButtonItem) {
        print("Delete Button is clicked \(barButtonItem).")
    }

    
    @objc
    func markButtonItemClicked(_ barButtonItem: UIBarButtonItem ) -> UIMenu {
        print("Mark is pressed")


        let markMenu = UIMenu(title: "", children: [
                    UIAction(title: "Flag", image: UIImage(systemName: "flag")) { action in
                        print("Flag is pressed")
                    },
                    UIAction(title: "Mark as Unread", image: UIImage(systemName: "envelope.badge")) { action in
                        print("Mark as Unread is pressed")
                    },
                ])

                return markMenu

    }
    
    
//    func menuItems() -> UIMenu {
//        let markMenu = UIMenu(title: "", children: [
//            UIAction(title: "Flag", image: UIImage(systemName: "flag")) { action in
//                print("Flag is pressed")
//            },
//            UIAction(title: "Mark as Unread", image: UIImage(systemName: "envelope.badge")) { action in
//                print("Mark as Unread is pressed")
//            },
//        ])
//
//        return markMenu
//    }
//
EN

回答 2

Stack Overflow用户

发布于 2021-01-05 09:32:16

菜单没有使用正确的初始化程序。

代码语言:javascript
复制
let markMenu = UIMenu(title: "", children: [
    UIAction(title: "Flag", image: UIImage(systemName: "flag")) { action in
        print("Flag is pressed")
    },
    UIAction(title: "Mark as Unread", image: UIImage(systemName: "envelope.badge")) { action in
        print("Mark as Unread is pressed")
    },
])
let markBarButtonItem = UIBarButtonItem(title: "Mark", image: nil, primaryAction: nil, menu: markMenu)
let toolBar = UIToolbar(frame: CGRect(origin: .zero, size: CGSize(width: 300, height: 100)))
toolBar.setItems([markBarButtonItem], animated: true)
票数 1
EN

Stack Overflow用户

发布于 2021-01-04 20:39:15

当您在bar按钮初始化中添加选择器时,使用" self“代替视图控制器(NotificationsViewController)的名称,或者如果您不喜欢放入self,则直接引用函数名。在方法和属性前面时,它是不需要的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65567357

复制
相关文章

相似问题

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