标签栏/导航刷新

Posted

技术标签:

【中文标题】标签栏/导航刷新【英文标题】:Tab Bar / Navigation Refresh 【发布时间】:2017-03-20 14:54:16 【问题描述】:

我有一个标签栏控制器连接到几个导航控制器。对于其中一个导航控制器,我有一个内部带有 Web 视图的视图控制器。一切正常;但是,假设用户在 Web 视图中单击一个赞,然后将他们带到第二页...我希望该用户能够单击底部的标签栏按钮并将其发送回原始 Web 视图.希望这是有道理的,但作为一个例子,看看你 iPhone 上的 App Store 应用程序。假设您单击“特色”页面中的应用程序。如果您单击“特色”选项卡栏按钮,它会将用户带回原始页面。下面是我正在使用的代码。这是 Objective-C。

@property (weak, nonatomic) IBOutlet UIWebView *webView;
@end
@impementation FirstViewController
-(void)viewDidLoad 
   [super viewDidLoad];
   NSURL *url = [NSURL URLWithString:@"www.google.com"]; [self.webView 
      loadRequest:[NSURLRequest requestWithURL:url]];

-(void)didReceiveMemoryWarning 
   [super didReceiveMemoryWarning];

@end

【问题讨论】:

你是如何在你的 UITabViewController 的委托中加载这个视图控制器的? (例如,当您点击选项卡时执行的代码是什么) Go to rootView when tabBar tapped的可能重复 @pckill 这不是一个骗局,因为它涉及 Web 视图,而不是弹出到根 VC。 是的,但是重新加载根网页很简单。这个问题的代码甚至出现在问题中。 【参考方案1】:

正如@pckill 所说,请查看https://***.com/a/12142920/1197723 由此,您将获得正在出现的 UIViewController。从这个参考资料中,您应该能够在您呈现的视图控制器中调用一个公共方法来再次显示主页。你可以做类似的事情,说

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
       
    if([viewController respondsToSelector:@selector(goHome)])
       [(MyCustomViewController*) viewController goHome];
    

或者类似的东西

【讨论】:

以上是关于标签栏/导航刷新的主要内容,如果未能解决你的问题,请参考以下文章

导航栏项目作为标签栏项目

如何使用新数据重新加载或刷新选项卡栏控制器的选项卡栏中的数据?

添加标签栏后导航下的搜索栏位置

具有标签栏和导航栏的 iPhone 应用程序

Swift:如何通过按导航栏按钮访问标签栏项目

通过标签栏和按钮导航屏幕