我想在点击UITableViewController
时创建一个UIButton
作为下拉列表。
我使用addChildViewController
创建了一个,但我无法再次点击该按钮删除它。
我使用的代码:
var flag = 0
func filter(sender: UIButton){
let _viewController = storyboard!.instantiateViewControllerWithIdentifier("UserViewController") as! UserViewController
if(flag == 1){
_viewController.willMoveToParentViewController(nil)
_viewController.removeFromParentViewController()
flag = 0
return
}
addChildViewController(_viewController)
_viewController.view.frame.origin.y = filterButton.frame.maxY
_viewController.view.frame.origin.x = self.view.frame.size.width-250
_viewController.view.frame.size.width = 250
_viewController.view.frame.size.height = 500
self.view.addSubview(_viewController.view)
flag = 1
}
答案 0 :(得分:1)
您的情况很简单,因为每次单击按钮时都要实例化视图控制器。
您应该在FormsAuthentication.SignOut
中实例化_viewController
。此外,您必须在删除时从superview中删除视图,并在添加时将self设为父级。
详情请参阅此链接 How is a parent view controller notified that is's child view controller has removed itself?。 您的代码应如下所示,
viewDidLoad
答案 1 :(得分:0)
不要使用下拉菜单。它不属于iOS。