如何将子视图放置在视图控制器中按钮左下角的下方?

时间:2019-05-20 08:46:19

标签: ios swift

我在视图控制器顶部有一个选项按钮(3个垂直虚线按钮)。 当我单击该按钮时,列表视图应该像在WhatsApp等许多其他应用中一样出现。 我真的不知道如何以编程方式始终将其定位在按钮附近。

2 个答案:

答案 0 :(得分:0)

在现有视图的左下角放置很容易:

func placeSubView(existingView: UIView)
{
    let desiredWidth = CGFloat(50.0)
    let desiredHeight = CGFloat(35.0)
    let (x, y) = (existingView.frame.origin.x - desiredWidth, existingView.frame.origin.y + existingView.frame.size.height)

    let desiredView = UIView(frame: CGRect(x: x, y: y, width: desiredWidth, height: desiredHeight))

    existingView.superview?.addSubview(desiredView)
}

更新:

如果您要查找像视图一样的弹出菜单,则应搜索UIPopoverPresentationController

类似this

答案 1 :(得分:0)

如果需要列表,请使用此方法并使PopoverViewController成为表视图控制器。

@IBAction func displayPopover(_ sender: UIBarButtonItem) {
    let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    let vc = storyboard.instantiateViewController(withIdentifier: "PopoverViewController")
    vc.modalPresentationStyle = .popover
    let popover: UIPopoverPresentationController = vc.popoverPresentationController!
    popover.barButtonItem = sender
    present(vc, animated: true, completion:nil)
}