我启动了以下模态控制器:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *modal = [storyboard instantiateViewControllerWithIdentifier:@"modalController"];
modal.title = @"Example Title";
[self presentModalViewController:modal animated:YES];
我将标题设置为:
modal.title = @"Example Title";
但这不起作用,任何人都可以帮助我吗?
编辑: 我用我这样的UINavigationController包装我的ModalView
答案 0 :(得分:1)
你会以一种稍微复杂的方式解决这个问题......但是为了保持你的范例,你需要提供 navigationController ,而不是包含 viewController :尝试要做到这一点,后一种方式将实例化viewController,但此操作不会将包含navController与它一起拉出故事板。您正在设置viewController的title属性ok,但您没有(自动)方式来显示标题。然而,如果你实例化navController,它包含的viewController确实与它一起取消归档topViewController
。
//give the navigation controller a storyboard id eg "navVC"
UINavigationController* modalNav = [self.storyboard instantiateViewControllerWithIdentifier:@"navVC"];
[modalNav topViewController].title = @"Example Title";
//[self presentModalViewController:modalNav animated:YES];
//deprecated method, use this instead:
[self presentViewController:modalNavController
animated:YES
completion:nil];
答案 1 :(得分:1)
您必须在模型控制器中为UINavigationItem(标题)添加一个IBOutlet属性,并使用经典的拖放功能。丢弃方法。
@property (weak, nonatomic) IBOutlet UINavigationItem *navTitle;
然后在viewDidLoad函数中设置标题。
- (void)viewDidLoad
{
[super viewDidLoad];
// title view
[self.navTitle setTitle: @"atitle"];
}
答案 2 :(得分:-1)
您需要使用 UINavigationItem 属性设置标题。
Swift Code:
self.navigationItem.title = "Bar Title"