【问题标题】:How to add Button in UINavigationController如何在 UINavigationController 中添加按钮
【发布时间】:2011-01-03 06:55:35
【问题描述】:
navigator=[[UINavigationController alloc]initWithRootViewController:contacts];

UIBarButtonItem *nextButton = [[UIBarButtonItem alloc]
       initWithTitle:@"Delete"
       style:UIBarButtonItemStyleBordered
       target:self
       action:@selector(makeCall)];

//[[self.navigator navigationItem] setLeftBarButtonItem:nextButton];
self.navigator.navigationBar.items=[NSArray arrayWithObject:nextButton];

我正在向 UINavigationController 添加一个按钮并遇到以下异常,请帮助我

2011-01-03 11:46:26.626 Appointment[2243:207] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Cannot call setItems:animated: directly on a UINavigationBar managed by a controller.'
2011-01-03 11:46:26.634 Appointment[2243:207] Stack: (
3040

【问题讨论】:

    标签: objective-c cocoa-touch uinavigationcontroller


    【解决方案1】:

    您不能直接在导航栏上设置项目,您需要通过导航项目,您从视图控制器中获得导航控制器中的显示。所以, 联系人.navigationItem.leftBarButtonItem = yourItem;

    【讨论】:

    • 我没有得到请解释
    • UIViewController 上有一个方法,你应该重写它,叫做 navigationItem。您可以在此处配置将出现在导航栏上的项目,例如 leftBarButtonItem、rightBarButtonItem 或 titleView。当您在 navController 上调用 pushViewController 时,navController 会查看 viewController 的 navigationItem 实现以了解要在 navBar 上显示的内容。
    • 将您的对象(按钮、文本等)放入 UIBarButtonItem。见这里:stackoverflow.com/questions/27672076/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多