构建一个界面,但是我需要一个按钮,让我们说它是一个圆形的HOME按钮,它位于屏幕的右下方,它总是在那里,并且总是会让你回到主屏幕。
它在我正在努力实现的目标背景下产生感官。
是否有一种聪明/优雅的方式来做到这一点,还是仅限于制作导航控制器的版本?
答案 0 :(得分:4)
我想在这里你需要以某种方式玩导航控制器。在应用程序堆栈的底部始终存在RootViewController
,应用程序堆栈中相对于应用程序窗口推送所有其他控制器。
请按照以下步骤完成您的问题要求。
将RootViewController
分配给您的HomeViewController
(您希望通过屏幕的右下方一次又一次地来到这里)。
HomeViewController *homeViewController = self.window.rootViewController;
每次点击“最右下方按钮”时都会调用此方法。
[self popToRootViewController];
希望这可以帮助你!!
答案 1 :(得分:1)
为此,请为主页按钮设置界面
@interface stickyHomeButton :UIViewController
@end
@implementation stickyHomeButton
- (void)viewDidLoad
{
[super viewDidLoad];
BDSAppDelegate *mainDelegate=[[UIApplication sharedApplication] delegate];
UIButton *homeButton=[UIButton buttonWithType:UIButtonTypeCustom];
[homeButton setFrame:homeButtonRect];
//desing you home button as you want
[homeButton addTarget:self action:@selector(popToHomeViewController) forControlEvents:UIControlEventTouchUpInside];
[[mainDelegate window] addSubview:homeButton];
[[mainDelegate window] bringSubviewToFront:homeButton];
}
-(void)popToHomeViewController
{
[[self navigationController] popToRootViewControllerAnimated:YES];
}
@end
你准备好了主页按钮,现在你需要做一件简单的事情。所有viewController都需要继承stickyHomeButton
答案 2 :(得分:0)
或者您可以添加一个容器视图,全屏大小,并在其中显示您的模态作为childrenViewControllers,在层次结构中使用此容器视图上方的静态按钮...