我的viewcontroller带有2个按钮的视图。如果我按下按钮我想从我的数据库中获取带有搜索栏+数据的新窗口。如果没有新VC,我怎么能实现它呢?
答案 0 :(得分:1)
您只需按一下按钮即可将另一个视图添加到当前视图控制器中。
这将是我的方法:
为视图创建一个单独的类(在您的情况下为搜索栏和数据库中的数据)。另外一个单独的XIB也很方便。
让课程命名为PopOver'
在Popover.m中:
+ (PopOverView*) createInstance {
PopOverView *xibView = [[[NSBundle mainBundle] loadNibNamed:@"PopOverView" owner:self options:nil] objectAtIndex:0];
[xibView setFrame:CGRectMake(CGRectMinXEdge + 10, CGRectMinYEdge + 10, 200, 200)];
// adjust frame according to your need
[xibView setBackgroundColor:[UIColor redColor]];
return xibView;
}
下一步:在视图控制器中,点击按钮,您将添加以下代码:
- (IBAction)buttonTapped:(id)sender {
UIView *myPopoverView = [PopOverView createInstance];
AppDelegate *appDel = [UIApplication sharedApplication].delegate;
[appDel.window addSubview:myPopoverView];
}
注意:我添加了' PopOver'查看应用代理的窗口而不是VC,因为在您显示“弹出窗口”时,您不希望用户与视图控制器进行交互。窗口。在这种情况下,最好在应用程序窗口中显示视图。
另请注意:您可以在呈现视图时为其设置动画。为此,请参阅此链接:addSubview animation
最后,您需要在PopOver视图类中实现搜索和数据库功能。 (别忘了在你的VC和Popover之间添加代表)。
希望这有帮助。
谢谢!
答案 1 :(得分:1)
窗口。
如果我没有错,你想创建一个视图并将其添加到窗口上。
" YourView" " UIView "。
的子类YourView *viewObj = [[[NSBundle mainBundle] loadNibNamed:@"YourView" owner:self options:nil] objectAtIndex:0];
AppDelgate *appDelObj = [[UIApplication sharedApplication] delegate];
[appDelObj.window addSubview:viewObj];
您的观点已添加到窗口。