在我的应用程序中有一个浮动按钮。它的功能是从任何地方打开可用的屏幕。
方案
假设我有4个屏幕,并且在每个屏幕中它们都是浮动按钮。
1. Home Screen
2. Services Screen
3. Contact Screen
4. Events
现在假设我已经打开了所有屏幕。目前我在联系人屏幕,我想去服务。
然后我必须再次推送服务,从而创建服务屏幕的对象。这会产生一个问题,就好像用户对服务进行了10次搜索,然后将创建10个新对象。
如何实施此方案?
我的代码:
if([sender tag]==1)
{
[push home];
}
else if([sender tag]==2)
{
[push services];
}
else if([sender tag]==3)
{
[push Contact];
}
else
{
[push events];
}
答案 0 :(得分:0)
试试这个。
UIViewController *popViewController = //assign here Services Screen or what view you want to back
BOOL isExist = NO;
for (UIViewController *viewController in self.navigationController.viewControllers) {
if ([viewController isEqual:popViewController]) {
isExist = YES;//exist view controller. so you should not create a new one
[self.navigationController popViewControllerAnimated:YES];
}
}
if (isExist==NO) {//not exist view controller. so you should create a new one
[self.navigationController pushViewController:YourViewController animated:YES];
}
答案 1 :(得分:0)
我更喜欢使用UITabBarController
。
答案 2 :(得分:0)
@NSUser,很抱歉没有回答您的确切问题,但我建议您使用UIPageViewController
进行“托管”,并逐个展示您的内容视图控制器。以下是来自Apple的概念性document,其中包含基本描述和操作方法。祝你好运。