【问题标题】:ios/xcode: change title of bar button itemios/xcode:更改条形按钮项的标题
【发布时间】:2015-07-06 19:41:02
【问题描述】:

我想根据用户检查的内容将栏按钮(右侧导航)的标题从登录更改为注册。

以前,我在 VC 中将此作为按钮,它使用以下代码:

[_submitButton setTitle:@"Sign Up" forState:UIControlStateNormal];

但是,现在我已经删除了页面中的按钮并将栏按钮命名为 submitButton,我收到以下错误:

“UIBarButtonItem”没有可见的@interface 声明选择器“setTitleForState”

有谁知道为什么这不起作用?我必须将 uibarbutton 命名为不同于常规按钮的名称吗?

【问题讨论】:

    标签: ios xcode uibarbuttonitem uinavigationitem


    【解决方案1】:

    UIBarButtonItem 不是UIButton

    请检查以下内容:

    • 选项-单击_submitButton,您将看到一个带有声明和类型的弹出框。
    • 点击UIBarButtonItem,您将看到文档。
    • 根本没有设置标题的方法。
    • 查看大类名称下方顶部的 Inherits from: 行。
    • UIBarButtonItemUIBarItem 的子类
    • 点击UIBarItem
    • 有一个 title 属性没有进一步的参数,所以它是

      _submitButton.title = @"Sign Up";
      

    阅读文档非常重要,不可能记住所有类的所有属性/方法,但如果收到这样的错误消息,这是你应该做的第一件事。

    【讨论】:

    • 谢谢。我正在等待 Objective C 变得直观,但它还没有发生。所以这些类型的错误往往会让我感到困惑。感谢您提醒检查文档!
    • 不过,错误信息非常具有描述性。 no selector错误的方法 - 检查文档
    • 好的。我可能很快就接受了答案。方法在到达 _submitButton.title = "@Sign Up"; 时抛出错误
    • 好的,错误信息说_submitButton不是UIBarButtonItem它是String
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-25
    • 1970-01-01
    相关资源
    最近更新 更多