【问题标题】:How to update a UITableView in detailview when changes the tabbar in the pop over controller?更改弹出控制器中的标签栏时如何在详细视图中更新 UITableView?
【发布时间】:2012-03-07 18:26:31
【问题描述】:

我正在使用 splitview 创建一个 iPad 应用程序,这是屏幕截图, 在这一个中,当我更改 masterview 控制器(左侧)中的选项卡时,我想更新右侧 tableview 中的值。哪个是好的方法,我应该为每个选项卡更改加载另一个视图控制器吗?可能吗?或者只是更新表格?对于所有选项卡更改,我想显示具有不同数据的表格视图。 我使用了以下代码,我可以在日志中看到更改,但表格没有更新。

- (void)setDetailItem:(id)newDetailItem
{
    if (_detailItem != newDetailItem) {
        [_detailItem release]; 
        _detailItem = [newDetailItem retain]; 
        
        // Update the view.
        [self configureView];
    }
    
    if (self.masterPopoverController != nil) {
        [self.masterPopoverController dismissPopoverAnimated:YES];
    }        
}

- (void)configureView
{
    // Update the user interface for the detail item.
    if (isStudent) {
        textStr = @"student";
        NSLog(@"Student....%@",textStr);
        [self.tableView reloadData];
    }if (isTeachers) {
        textStr = @"teacher";
        NSLog(@"Teacher....%@",textStr);
        
        [self.tableView reloadData];
    }if (isPreference) {
        textStr = @"preference";
        NSLog(@"Preference....%@",textStr);
        
        [self.tableView reloadData];
    }if (isConfiguration) {
        textStr = @"configuration";
        NSLog(@"Configuration....%@",textStr);
        
        [self.tableView reloadData];
    }
}

我也试过了

[self performSelectorOnMainThread:@selector(refreshTableView) withObject:nil waitUntilDone:NO];

请分享您的想法。 谢谢:)

【问题讨论】:

  • 我认为我无法更新界面中的任何对象。我试图更新 UILabel,但我不能。但我可以在 NSLog 中打印状态变化。

标签: ipad uitableview uitabbarcontroller uisplitviewcontroller


【解决方案1】:

最后我自己发现了这个问题,我真的很高兴能找到解决方案。我浏览了几个论坛和教程。最后我弄清楚了这个问题。在这个video 中,他们演示了如何使用 XCode 4.2 创建一个 SplitView 应用程序。在这一个中,只有一行代码解决了这个问题。这是在 Appdelegate.m 文件中。默认情况下,MasterViewController 无法访问detail view,所以如果我们需要对detailview 做一些事情,我们必须连接masterviewcontroller 和detailviewcontroller。看看视频,你就会(遇到同样问题的人)明白了。

谢谢:)

【讨论】:

    猜你喜欢
    • 2021-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    相关资源
    最近更新 更多