如何制作 UIPopoverController (Swift)?
How to make UIPopoverController (Swift)?
正在寻找基于 swift 的教程。我对这个问题的解答如下
希望对你有帮助
我不会为通过你提供的 link 中的付费专区而付费,但你正在寻找 UIPopoverController
。
我也不打算在这里写教程——有很多可用的教程。在这个类似的问题中给出了创建和使用 UIPopoverController
的简短示例:UIPopoverController, Xcode 6, IOS 8 using Swift
* 更新的答案 *
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")
}
}
}
备注:
- 我的 PopPoverViewController 是一个 UITableViewController
- 我使用SDiPhoneVersion.deviceVersion检查设备版本
- 我用一个按钮触发它
- 我让弹出窗口的开始取决于 RoutineLabel.frame
正在寻找基于 swift 的教程。我对这个问题的解答如下
希望对你有帮助
我不会为通过你提供的 link 中的付费专区而付费,但你正在寻找 UIPopoverController
。
我也不打算在这里写教程——有很多可用的教程。在这个类似的问题中给出了创建和使用 UIPopoverController
的简短示例:UIPopoverController, Xcode 6, IOS 8 using Swift
* 更新的答案 *
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")
}
}
}
备注:
- 我的 PopPoverViewController 是一个 UITableViewController
- 我使用SDiPhoneVersion.deviceVersion检查设备版本
- 我用一个按钮触发它
- 我让弹出窗口的开始取决于 RoutineLabel.frame