我真的很感激任何帮助 - 我一直试图弄清楚如何在嵌套的UITABLEVIEW中更改tabbarcontroller上的标签,就像RayWenderlich.com关于类似卷轴{{3}的脉冲的教程一样但我真的陷入了困境。我正在使用故事板和xcode 4.4
我几周后对xcode完全不熟悉,所以如果这是一个新手问题,我会道歉。根据上面链接中的图像我有嵌套的水平tableviews工作正常,但我想使用图像切换到新的选项卡但不能 - 我认为这是因为tableview是嵌套的所以我找不到对层次结构中tabbarcontroller的正确引用。
如果我使用ArticleListViewController.m确实选择了包含注释的教程似乎建议插入导航代码将生成NSLog输出并更改选项卡确定但只使用图像上方的一个细小的条带(我偶然发现了这一点)但没有发生在图像上。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// Navigation logic may go here. Create and push another view controller
//THIS SELECTS WHEN CLICK THINSTRIP JUST ABOVE BUTTONS
NSLog(@"ARTICLELISTVIEWCONTROLLER check didSelect: %u", self.tabBarController.selectedIndex);
self.tabBarController.selectedIndex = 2;
}
HorizontaTableCell.m中的以下代码在我点击实际图像时更恰当地生成NSLog输出,但我无法找出允许我更改标签的tabbarcontroller参考。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//the following line just generates an Error as follows: Property tabBarController not found on object of type 'HorizontalTableCell *'
self.tabBarController.selectedIndex = 2;
NSLog(@"HORIZONTALTABLECELL DIDSELECT");
}
我看了一眼,然后想办法解决这个问题,但无法理解。发现提到使用appdelegate但不知道如何做到这一点。不能将storyboard图像作为新用户发布,但有一个带有4个导航控制器的tabbarcontroller - 第一个是ArticleListViewController菜单,其他每个都是viewcontrollers - 我希望将webview加载一个链接/本地页面取决于选择的菜单和其他用于关于屏幕和其他当前空白屏幕的菜单。
请帮忙!
谢谢!
答案 0 :(得分:0)
我猜您将tabBarController作为app delegate中的属性?
您可以通过以下方式联系您的应用代表:
[[UIApplication sharedApplication] delegate]
将其转换为您的app委托类,编译器不会警告您到达标签栏控制器。像这样:
((YourAppDelegate *) [[UIApplication sharedApplication] delegate]).tabBarController.selectedIndex = 2;
对于tableview委托方法,ArticleListViewController听起来就像你想要的那样。单元格应该只是具有次要表示逻辑的愚蠢视图。如果没有调用它,请确保已将其设置为表视图的委托(如果您按照链接到的教程,则在界面构建器中)。