ios - Apple map 样式菜单弹出窗口

标签 ios swift xcode segue

我想创建一个类似于 map 设置菜单和苹果支付菜单的 View 。我试图制作一个来自底部的 segue,但找不到如何使其小于全屏。

示例:

enter image description here

最佳答案

我最终创建了一个 xib 文件(称为“ View ”)并将背景设置为透明。然后我将文件添加到我的 ViewController 并在需要时从底部开始动画(全部来自 ViewController.swift)

这链接到按钮以显示主视图 Controller 文件中的菜单

@IBAction func showSettings() {
    let settingsViewVC = SettingsMenuController()

    self.addChildViewController(settingsViewVC)
    self.view.addSubview(settingsViewVC.view)
    settingsViewVC.didMove(toParentViewController: self)

    let height = view.frame.height
    let width  = view.frame.width
    settingsViewVC.view.frame = CGRect(x: 0, y: self.view.frame.maxY, width: width, height: height)

}

这链接到一个覆盖屏幕顶部区域的按钮,当您点击它时关闭 View

@IBAction func exit() {
    UIView.animate(withDuration: 0.6, animations: { [weak self] in
        let frame = self?.view.frame
        self?.view.frame = CGRect(x: 0, y: frame!.maxY, width: frame!.width, height: frame!.height)
    })
}

我相信有更好的方法可以用 Storyboard来做到这一点,但这很有效

关于ios - Apple map 样式菜单弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40821329/

相关文章:

swift - 查询 Firebase Firestore 帖子的最有效方法

ios - Xcode DEBUG 模式 - 什么时候开/关?

xcode - 转换为 OpenCV cv::Mat, NSImage

ios - Xcode 8.2 使用旧版 Swift 问题

ios - 角标(Badge)编号在 UITabBarController 上未正确显示

ios - 云包 : FetchUserRecordIdWithCompletionHandler returns previous user id

ios - UIView 动画动画但立即移回原始位置

ios - 无法从我的应用程序中删除 testflight sdk

ios - 使用相机在 iOS 中剪切对象

ios - 给定不同字段的键,从字典中获取值