use*_*422 3 xcode swift ios8 uipresentationcontroller
我是新手,试图了解如何使用UIPopoverPresentationController.
我在我的应用程序中需要的是,当按下按钮时,屏幕按钮上的弹出框将显示在屏幕的一半上的xib文件上.现在发生的是我设法转向第二个视图控制器,但不知道如何加载xib文件以及如何使popover成为屏幕的一半.这是我的代码
import UIKit
class BaseViewController: UIViewController , UIPopoverPresentationControllerDelegate {
@IBAction func moveToPopoverView(sender: UIButton) {
var popoverViewController = self.storyboard?.instantiateViewControllerWithIdentifier("Popover") as! UIViewController
popoverViewController.modalPresentationStyle = .Popover
popoverViewController.preferredContentSize = CGSizeMake(200, 200)
let popoverPresentationViewController = popoverViewController.popoverPresentationController
popoverPresentationViewController?.permittedArrowDirections = .Any
popoverPresentationViewController?.delegate = self
presentViewController(popoverViewController, animated: true, completion: nil)
}
override func viewDidLoad() {
super.viewDidLoad()
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
实现这一目标的最简单方法是通过故事板弹出式演示文稿segue.它将为您处理呈现的视图控制器实例化.


prepareForSegue:sender:代码以将任何参数传递给您呈现的视图控制器.(我还没学过Swift ......抱歉,目标C.) - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)__unused sender {
if ([[segue identifier] isEqualToString:@"showBIBLESelectBookChapter"]) {
UINavigationController *navigationController = segue.destinationViewController;
if ([navigationController.topViewController isKindOfClass:[BIBLESelectViewController class]]) {
BIBLESelectViewController *selectViewController = (BIBLESelectViewController *)navigationController.topViewController;
selectViewController.initialBookChapterVerse = self.bookChapterVerse;
}
UIPopoverPresentationController *popoverPresentationController = navigationController.popoverPresentationController;
popoverPresentationController.delegate = self;
}
}
segue将为您完成所有实际工作,实例化,呈现和锚定popover视图控制器.

您应该可以设置内容大小,以便弹出窗口是半屏幕.
| 归档时间: |
|
| 查看次数: |
1446 次 |
| 最近记录: |