如何制作 UIPopoverController (Swift)?

Ace*_*een 1 menu popup ios swift

正在寻找基于 swift 的教程。我对问题的解决方案如下

希望能帮助到你

Ace*_*een 5

* 更新答案 *

class ViewController: UIViewController, UIPopoverControllerDelegate, UIPopoverPresentationControllerDelegate {

    @IBOutlet weak var RoutineLabel: UIButton!

    @IBAction func RoutineButton(sender: AnyObject) {

        switch SDiPhoneVersion.deviceVersion() {
        case DeviceVersion.iPad1, DeviceVersion.iPad2, DeviceVersion.iPadMini, DeviceVersion.iPad3, DeviceVersion.iPad4, DeviceVersion.iPadAir, DeviceVersion.iPadMiniRetina:

            var popoverViewController = self.storyboard?.instantiateViewControllerWithIdentifier("RoutinesTableViewController") as UITableViewController
            popoverViewController.modalPresentationStyle = .Popover
            popoverViewController.preferredContentSize   = CGSizeMake(300, 300)

            let popoverPresentationViewController = popoverViewController.popoverPresentationController

            popoverPresentationViewController?.permittedArrowDirections = UIPopoverArrowDirection.Up
            popoverPresentationViewController?.delegate = self
            popoverPresentationViewController?.sourceView = self.RoutineLabel
            popoverPresentationViewController?.sourceRect = CGRectMake(RoutineLabel.frame.width / 2, RoutineLabel.frame.height,0,0)

            presentViewController(popoverViewController, animated: true, completion: nil)


        default:

            println("iPhones")

        }

    }
}
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 我的 PopPoverViewController 是一个 UITableViewController
  • 我使用 SDiPhoneVersion.deviceVersion 检查设备版本
  • 我用一个按钮来触发它
  • 我让弹出窗口的开始取决于 RoutineLabel.frame