是否有另一种方式来显示UIView而不是使用.XIB?因为我有许多UIViewControllers,我把它显示为presentView
,现在我必须改变它。
我的代码:
@IBAction func basketClearButton(sender: UITapGestureRecognizer) {
let basketClearView = UIStoryboard(name:"Main", bundle: nil).instantiateViewControllerWithIdentifier("clearBasket") as! ClearBasketViewController
//self.presentViewController(alert, animated: true, completion: nil)
self.view.addSubview(basketClearView)
}
答案 0 :(得分:0)
你可以通过使一个视图控制器为另一个视图控制器的子视图,使你想要在here上呈现VC的那些视图控制器子视图,你可以将子VC的视图作为子视图添加到父VC的视图中
以这种方式你可以在同一个屏幕上显示它们,你以前的整个代码将保持原样,只有呈现逻辑才会改变
这也很有帮助tutorial
答案 1 :(得分:0)
你可以在.xib文件中执行任何操作,也可以在代码中执行。因此,如果您有一个视图控制器,您希望将视图添加到显示中而不为其创建.xib文件,则可以通过编程方式编辑视图的内容(例如,[self.view addSubview:someImageViewYouCreated] ;)
在主视图控制器(或任何其他要显示其他视图内容的视图控制器中,您只需添加新视图控制器中的视图。例如,如果是视图控制器,则希望添加到显示器的名为SecondViewController,你要写:
SecondViewController *newView = [[SecondViewController alloc] init];
[self.view addSubview:newView.view];
如果要添加淡入淡出动画的视图,可以执行以下操作:
newView.view.alpha = 0.0;
[UIView animateWithDuration:0.3f animations:^{
newView.view.alpha = 1.0;
}];