如何在Swift中创建弹出视图

时间:2014-12-05 10:09:27

标签: ios xcode swift

所以我试图在现有视图中创建一个弹出视图:每当按下按钮时,弹出视图就会出现

这是按下按钮时我习惯的代码

@IBAction func addFees(sender: UIButton) {
    UIView.beginAnimations(nil, context: nil)
    UIView.setAnimationDuration(0.3)
    view2.frame = CGRectMake(0, 200, 320, 261)
    UIView.commitAnimations()
}

这是我用来使它消失的代码

@IBAction func doneButton(sender: UIBarButtonItem) {
    UIView.beginAnimations(nil, context: nil)
    UIView.setAnimationDuration(0.3)
    listingfees.frame = CGRectMake(0, 1000, 320, 261)
    UIView.commitAnimations()
}

问题是我有其他按钮和标签,当视图出现时它们似乎重叠。 我不知道如何解决它。我不确定是否有一个更容易的方法,但我已经坚持这个问题了一段时间。

我希望它看起来像右边的图片

enter image description here

1 个答案:

答案 0 :(得分:1)

如果您希望Popover位于顶部

,则应该从基本视图控制器中显示
@IBAction func addFees(sender: UIButton){
let viewController =  "Your Popover View Controller class"
viewController.modalPresentationStyle = .Popover
viewController.preferredContentSize = CGSizeMake(320, 261)

let popoverPresentationViewController = viewController.popoverPresentationController
popoverPresentationViewController?.permittedArrowDirections = .Any
popoverPresentationViewController?.delegate = self
popoverPresentationController?.sourceRect = sender.frame
presentViewController(playerInformationViewController, animated: true, completion: nil)

}