【问题标题】:Importance of Direction of Control-Drag Operation while Setting Actions in Interface Builder在 Interface Builder 中设置操作时控制拖动操作方向的重要性
【发布时间】:2010-09-19 19:50:24
【问题描述】:

我有一个关于在使用 Interface Builder (3.2.3) 设置操作时选择正确的控制拖动操作的起点和终点的重要性的问题。在处理介绍性文本中的示例时出现了这个问题。在示例项目中,有一个非常简单的图形窗口,其中包含三个 NSTextField(即名字、姓氏、电子邮件)和一个 NSTextView。控制器类的接口在头文件中声明为:

@interface EmailController : NSObject {

 IBOutlet NSTextField *emailField;
 IBOutlet NSTextField *firstNameField;
 IBOutlet NSTextField *lastNameField;
 IBOutlet NSTextView *resultTextView;

}

- (IBAction)textFieldChanged:(id)sender;

@end

该文本明确指出,在设置操作时,您开始在控件上拖动控件。具体来说,该示例首先从 First Name 可编辑的 NSTextField 文本字段控制拖动到 EmailController 实例,在该实例中会出现一个黑色小窗口,并且可以选择操作 textFieldChanged 操作。

在“名字”可编辑框连接到操作后,文本会引导读者将“姓氏”和“电子邮件”可编辑框也连接到相同的操作。然而,在这些情况下,文本会引导读者从小圆圈开始控制拖动操作到控制器实例黑色窗口中 textFieldChanged 操作的右侧,并在“姓氏”和“电子邮件”可编辑框处结束。这似乎与我理解在设置操作时从控件开始的一般规则相反。

无论我选择哪一点作为起点和终点,我似乎都得到了相同的结果。连接器检查器中针对各种对象列出的操作似乎总是与我选择哪一点作为开始无关紧要。如果不是它似乎与明确陈述的一般规则相矛盾,我什至不会认为这是一个问题。当我尝试对插座做同样的事情时,我确实注意到了一个问题。

在将控件连接到动作时,选择哪个点作为起点是否重要?

谢谢

【问题讨论】:

    标签: cocoa interface-builder action


    【解决方案1】:

    在将控件连接到动作时,选择哪个点作为起点是否重要?

    没有。

    Big Nerd Ranch recommends always dragging from sender to receiver(出口到对象或控制到目标)以明确消息将进入的方向。向另一个方向拖动同样有效,但不会加强消息方向到新 Cocoa 和Cocoa Touch 程序员。

    (需要说明的是,该博客由前 BNR 课程参与者撰写,而不是 BNR 或为 BNR 工作的任何人。)

    在“名字”可编辑框连接到操作后,文本会引导读者将“姓氏”和“电子邮件”可编辑框也连接到相同的操作。然而,在这些情况下,文本会引导读者从小圆圈开始控制拖动操作到控制器实例黑色窗口中 textFieldChanged 操作的右侧,并在“姓氏”和“电子邮件”可编辑框处结束。这似乎与我理解在设置操作时从控件开始的一般规则相反。

    右键单击动作接收器并从动作中拖动方式的一个优点是更容易一次连接一堆动作。这听起来像是教程在那里例外的最佳理由,除了只是由不同的作者或不同的作者(我猜)以不同的方式做事之外。

    【讨论】:

    • 感谢您为我澄清这一点。
    猜你喜欢
    • 1970-01-01
    • 2014-11-11
    • 2011-09-05
    • 1970-01-01
    • 2017-06-04
    • 2022-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多