gpt4 book ai didi

ios - 为 UINavigationItem 的 titleView 设置 View Controller

转载 作者:行者123 更新时间:2023-11-29 04:24:08 27 4
gpt4 key购买 nike

我正在创建一个被推送到UINavigationController的 View Controller 。我需要一个自定义的导航栏,因此我重写了 View Controller 的 navigationItem 方法。在 titleView (UINavigationItem 的属性)中,我需要一个包含两个按钮的自定义 View 。问题:如何为这两个按钮应用 View Controller ?

包含两个按钮的 View 在 CustomTitleViewController.xib 中定义,而其 View Controller 在 CustomTitleViewController 类中定义。

这是我返回导航项的方式(MainViewController.m):

- (UINavigationItem *)navigationItem
{
UINavigationItem *navItem = [[UINavigationItem alloc] init];

UIViewController *customTitleViewController =
[[CustomTitleViewController alloc] initWithNibName:@"CustomTitleViewController"
bundle:[NSBundle mainBundle]];

navItem.titleView = [customTitleViewController view];

return navItem;
}

View 按预期显示在导航栏上。但是,点击按钮会使应用程序崩溃 (EXC_BAD_ACCESS)。

错误消息:消息发送到已释放的实例 0x6e53850

有什么想法吗?

最佳答案

基本上,您需要保留指向 viewController 及其 View 的指针。只需在 UINavigation Controller 子类上创建强大的属性即可。因为您在这里所做的是每次调用导航项时实例化新 Controller 并在函数结束时实现它。这是一个非常快速的粗略修复: https://www.dropbox.com/s/y6ltdyj951ioncd/Navigating.zip确保不要一直重新实例化 VC 并保留指向它的指针。希望这有帮助。

关于ios - 为 UINavigationItem 的 titleView 设置 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12603169/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com