- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个关于在使用 Interface Builder (3.2.3) 设置操作时选择控制拖动操作的正确起点和终点的重要性的问题。这个问题是在处理介绍性文本中的示例时出现的。在示例项目中,有一个非常简单的图形窗口,其中包含三个 NSTextField(即名字、姓氏、电子邮件)和一个 NSTextView。 Controller 类的接口(interface)在头文件中声明为:
@interface EmailController : NSObject {
IBOutlet NSTextField *emailField;
IBOutlet NSTextField *firstNameField;
IBOutlet NSTextField *lastNameField;
IBOutlet NSTextView *resultTextView;
}
- (IBAction)textFieldChanged:(id)sender;
@end
文本指出,在设置操作时,您可以在控件上按住 Ctrl 键并拖动。具体来说,该示例首先从 First Name 可编辑 NSTextField 文本字段按住 Control 键拖动到 EmailController 实例,其中会出现一个黑色小窗口,并且可以选择操作 textFieldChanged 操作。
将名字可编辑框连接到操作后,文本会引导读者将姓氏和电子邮件可编辑框也连接到同一操作。然而,在这些情况下,文本会引导读者开始从小圆圈到 Controller 实例黑色窗口中 textFieldChanged 操作右侧的 Control 拖动操作,并在“姓氏”和“电子邮件”可编辑框处结束。这似乎与我理解的从控件开始设置操作的一般规则相反。
无论我选择哪一点作为起点和终点,我似乎都会得到相同的结果。连接器检查器中列出的各种对象的操作似乎总是与我选择的起点无关。如果不是它看起来与明确规定的一般规则相矛盾,我什至不会认为这是一个问题。当我尝试对 socket 做同样的事情时,我确实注意到了一个问题。
将控件连接到操作时选择哪个点作为起点重要吗?
谢谢
最佳答案
Does it matter which point you choose as the start when connecting a control to an action?
没有。
Big Nerd Ranch recommends always dragging from sender to receiver (导出到对象或控制到目标)以明确消息将进入哪个方向。向另一个方向拖动同样有效,但不会向新的 Cocoa 和 Cocoa Touch 程序员强化消息方向。
(需要明确的是,该博客是由前 BNR 类(class)参与者撰写的,而不是由 BNR 或为 BNR 工作的任何人撰写的。)
After the First Name editable box is connected to the action the text directs the reader to also connect the Last Name and Email editable boxes to the same action. However in these cases the text directs the reader to start the control-drag operation from the small circle to the right side of the textFieldChanged action in the black window of the controller instance and to end at the Last Name and Email editable boxes. This seems opposite to how I understand the general rule of starting at the control while setting an action.
右键单击操作接收器并从操作中拖动的方式的一个优点是更容易一次连接一堆操作。这听起来像是教程破例的最好理由,除了由不同的作者或不同的作者(我猜)采用不同的做事方式之外。
关于cocoa - 在 Interface Builder 中设置操作时控制拖动操作方向的重要性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3747202/
我正在开发一个应用程序,我成功地消除了除一个错误之外的所有错误: no suitable constructor found for builder 更改为“意图” https://file.io/O
我可以在 C++Builder 6 中成功编译以下代码片段,但我无法在 RAD Studio Seattle 中编译它: unsigned long x = 50; String s = In
我有一个项目(新开始),其中 C++ Builder 没有在任何断点处停止。我已确保我处于 Debug模式(未发布),链接器->完整调试信息 = True,C++ 编译器->调试配置,C++ 编译器-
我们想在正在开发的 C++ builder XE 应用程序中绘制大型控制流程图。 这些图表将以编程方式生成并以交互方式显示给用户(用户可以滚动大流程图、选择节点等)。节点必须能够显示自定义组件(如 T
我有以下问题 午餐时 FlashBuilder.exe (BURRITO):它崩溃并创建一个错误日志文件,例如: hs_err_pid7084.log 及以下 但是当我咀嚼 FlashBuilderC
我有一个大型 Flash Builder 项目,它是更大 (.net) 解决方案的一部分。对于整个项目,我通常有一个前进的开发分支,以及一个或多个错误修复分支。考虑到 Flash Builder 不想
乘数(自动布局中约束的属性)有什么作用? 最佳答案 约束中两个值之间的关系由以下公式确定: b = am + c 其中 a 和 b 是要关联的两个值,m 是乘数,c code> 是常量。 例如,如果
我们的开发团队使用 Borland C++ Builder 6 和 CodeGear C++ Builder 2007(以及 Visual Studio)。我听到很多评论说 Builder 2007
我想阐明我对构建器模式的使用,特别是构建器类型是如何创建的。在示例中,它只是假定构建器的类型并创建它。但是,我在“ChartBuilderFactory”类中创建了一个 CreateBuilder 方
首先,我对 Java 比较陌生,所以我问的可能是微不足道的,但我在这里或其他地方找不到答案。 为简单起见,假设我有以下类层次结构: class Shape { protected Shape(
我试图在另一个 AlertDialog 中打开一个 AlertDialog,但它不起作用,知道为什么它不起作用吗? String items[] = {"Details","Edit","Delete
我有一个包含 Form1 和 Form2 的程序。如何单击按钮从 form1 打开 form2? 最佳答案 更多信息 在你的 Project.cpp 中有这个:Application->CreateF
每当我使用 C++ Builder(XE4 版,但以前的版本也这样做)在 Release模式下构建 Win32 EXE 时,它总是创建一个导出目录并为我的项目中的每个单元导出一个 Initialize
我正在尝试在我的试用版 flashbuilder 上启用设计模式,但找不到任何选项, 我已经查看了 Windows 菜单,但没有启用设计模式, 和首选项,但首选项对话框中没有 Flex 来启用其设计模
我目前正在将一个大型 RAD Studio 2010 项目迁移到 XE4。作为其中的一部分,我正在重新创建许多项目文件。我想借此机会确保我们对预编译头使用最好的机制,因为似乎有几种方法可以做到这一点。
我观看了“Interface Builder 中的新增功能” session 视频并尝试复制显示的代码,但不幸的是,当我将 View 分配给具有 @IBDesignable 的自定义类时,出现 2 个
这个问题在这里已经有了答案: Why is NotificationCompat needed? (3 个答案) 关闭 5 年前。 我看到的几乎所有 Android 通知示例代码似乎都使用了 Not
我正在使用 fcm 从我的 Android 应用程序发送通知,并且我已经实现了它要求我提供的所有库。 val topic = "highScores" // See docum
我正在尝试在Flash Builder 4.6中进行项目范围内的查找和替换,但是对我而言,如何实现这一点并不明显。 我试过Edit-> Find/Replace然后全部替换,但它仅替换当前打开的文件中
帮助我在 XCode4 中取消 fubar 界面构建器。 我在 interface-builder 中创建了一个按钮,并在 View 的代码中为它定义了一个 IBAction 方法。它运行良好。然后我
我是一名优秀的程序员,十分优秀!