导航控制器子视图的属性未更新

Posted

技术标签:

【中文标题】导航控制器子视图的属性未更新【英文标题】:Navigation controller subview's property is not updating 【发布时间】:2012-08-23 19:23:18 【问题描述】:

我有一个 UITableView,当我使用此代码推送视图时(存在简化的“dic”)。第一次它将加载标记对象。但是当我回去打开一个不同的单元格时,它使用相同的标记对象。我应该使用后退按钮上的选择器来取消self.ViewController

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
            
        if (!self.ViewController) 
            self.ViewController = [[TextViewController alloc] initWithNibName:@"ViewController" bundle:nil markup:[dic objectForKey:@"text"]];
        
    [self.navigationController pushViewController:self.ViewController animated:YES];


属性不会更新。为了确定,我尝试了不同的设置方法。

是否有我可以将标记属性放在的超弱设置?

【问题讨论】:

它是导航控制器的一部分,还是显示在模式视图中? 仅当您使用 pushViewController 时,NavigationController 才会更新为新的 viewControler,如果您使用的是 presentModalViewController,则不会更新。 对不起,我忘了,行。不,它不会用 pushViewController 更新。 嘿,我真的很抱歉,我忘了补充这个问题的大部分内容。现在都在那里。 【参考方案1】:

解决了。如果 self.ViewController 已经存在,我只是将其无效。我在代码的开头使用了这个。

if (self.ViewController) 
    self.ViewController = nil;

【讨论】:

以上是关于导航控制器子视图的属性未更新的主要内容,如果未能解决你的问题,请参考以下文章

如何在目标 c 中从其他子视图控制器导航子视图控制器

在导航控制器中添加子视图覆盖导航栏

在导航控制器中嵌入子视图

如何使用导航控制器创建静态子视图?

UIViewController 导航 - 在意外状态下完成导航转换。导航栏子视图树可能会损坏

如何导航 navigationcontroller rootviewcontrollr 子视图控制器