【问题标题】:Ctrl-Drag from button to method not working. Xcode/Interface BuilderCtrl-Drag 从按钮到方法不起作用。 Xcode/界面生成器
【发布时间】:2012-02-02 01:46:25
【问题描述】:

我正在构建一个 iOS 应用程序,并且我已经构建了大部分代码/GUI(它是一个单视图应用程序)。现在我有一个相邻的 .xib 和 controller.h 文件,我想将按钮单击与某个操作相关联。每次我尝试什么都没有发生。我正在拖动的 UI 指示器出现,但它不会让我连接到该方法。所有对象/方法都会发生这种情况。

我有一个几乎相同的项目也可以正常工作!

【问题讨论】:

    标签: objective-c ios xcode interface-builder


    【解决方案1】:

    选择您的 XIB 文件,然后选择黄色立方体的“文件所有者”。 在实用工具侧边栏中,选择带有圆圈和箭头的图标(即“连接检查器”)。 然后,您可以 Control + 拖动到您的按钮。

    //// 编辑 ////

    在调查您的项目后... 很确定你删除了一个故事板,然后添加了一个 .xib 但没有设置它的类,或者将它的视图链接为一个出口。

    这样做:

    1. 选择新视图 (XIB),然后选择主视图,然后在身份检查器中,将其类设置为您的自定义类名称“AVYSViewController”。

    2. 切换到连接检查器和 Control + 将“视图”出口拖到 XIB 中的主视图。

    另外,您的项目正在寻找 MainStoryBoard.storyboard 文件。因此,通过选择您的项目,然后选择您的目标,并在“摘要”选项卡中,删除“主故事板”字段中的任何内容来摆脱该设置。

    注意:我在删除情节提要设置之前检查了您的项目设置是否有效,并且它没有返回任何错误,因此在以后的项目中要小心这个问题。

    【讨论】:

    • 对不起,我认为我正确地遵循了你的步骤,我只是不明白结局。取出连接检查器后,我在拖什么到我的按钮?
    • 您将拖动您的操作,该操作将列在连接检查器的“已接收操作”下。如果它不存在,您可能会遇到一些我们应该调查的代码问题。
    • 看起来有。你需要我给你看什么?只是controller.h?
    • 如果您尝试将操作附加到按钮,我们可能需要查看 .m 和 .h 的代码
    • 你可以通过编辑你的问题来添加代码(不确定你是否知道,只是想帮忙:)
    【解决方案2】:

    我想我和你读的是同一本书(Big Nerd Ranch 的“iOS 编程”)。如果是这样,那么是的,我和你有同样的问题。诚然,我正在使用我的笔记本电脑通过 vnc 到 mac 盒来处理 xcode,所以我认为它是 vnc 没有正确捕获键盘,但事实证明它不是 vnc,因为我可以右键单击/cntl-单击拖动其他的东西。

    诚然,我并没有对它为什么不起作用做太多研究,但同时我只是右键单击按钮,它显示了按钮发出的事件,然后单击并拖动“Touch Up内部”事件并将其放在控制器/所有者上,然后显示将事件挂钩的操作/方法。如果您查看第 17 页(如果您正在阅读同一本书),那么这就是被连接的事件。

    对不起,如果我刚才所说的有任何明显的错误,今天吃了一顿丰盛的午餐后才开始阅读这本书。

    【讨论】:

      【解决方案3】:

      我认为你应该改写你的问题。这很令人困惑。但是,如果我理解您在说什么,您现在可以使用助手编辑器并排打开文件。左边的 Xib 文件,右边的 .h 文件。对吗?

      现在您正尝试将控件中的事件链接到您在 .h 文件中定义的方法。对吧?

      因此,如果您正在实际上看到了要链接到的 .h 文件中的方法,但编辑器不允许您链接到它,那么您很可能拥有xib 文件与错误的 .h 文件并排。您确定并排的 .xib 文件和 .h 都称为 controller 吗? controller.h 和 controller.xib ?

      【讨论】:

      • 是的,绝对是正确的文件,并且您正确解释了问题。很抱歉造成混乱。
      • 好的,如果它们相同,那么尝试将方法链接到按钮是什么控制?如果是按钮,请务必将方法定义为 - (IBAction)myMethod:(id)sender; 你在这样做吗?
      • 是的:- (IBAction)showQuestion:(id)sender; - (IBAction)showAnswer:(id)sender;
      • link 这个链接是我项目的 .zip 如果你喜欢我把它放到网上,我可以这样做
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-04
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      • 2011-08-14
      • 2012-09-19
      • 2011-07-19
      相关资源
      最近更新 更多