我正在编写一个 iOS 应用程序,它为一组显示我网站内容的 WebViews 提供本机选项卡式界面。UITabBarDelegate
我想重新点击相同的选项卡来刷新页面,所以我在我的 ViewController 中实现了(单词选择?我是一个 Java 人......)并且有这个:
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
AbstractPageController *otherController = (AbstractPageController *)[[self viewControllers] objectAtIndex:[[tabBar items] indexOfObject:item]];
[otherController loadPage];
}
在适当的 WebView 中加载页面。
而且,当然,首先(在启动时)加载页面,我在我的AbstractPageController
- (void)viewDidLoad
{
[super viewDidLoad];
[self loadPage];
}
正如您可能想象的那样,如果选择了新选项卡,这会导致页面被加载两次。我该如何避免这种情况?现在我认为最好的办法是从 中删除loadPage
调用viewDidLoad
,但这意味着在启动时页面没有被加载(对吗?)。特例似乎很hacky。你有什么建议吗?