【问题标题】: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 的委托中加载这个视图控制器的? (例如,当您点击选项卡时执行的代码是什么)
  • @pckill 这不是一个骗局,因为它涉及 Web 视图,而不是弹出到根 VC。
  • 是的,但是重新加载根网页很简单。这个问题的代码甚至出现在问题中。

标签: ios objective-c webview uinavigationcontroller uitabbarcontroller


【解决方案1】:

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

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

或者类似的东西

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-30
    • 1970-01-01
    相关资源
    最近更新 更多