Xcode 9 在 Ctrl+拖动时显示菜单

Xcode 9 shows menu on Ctrl+drag

这一定很简单,但是Xcode真的让我很沮丧。在我的第一个 iOS 应用程序上:

  1. 创建新项目,使用单视图应用程序模板。
  2. 并排打开 main.storyboardViewController.swift
  3. 放下一个按钮并定位它。
  4. 现在,要创建出口以响应我的按钮点击,我知道我应该在将按钮拖动到编辑器时按住控件。这大约工作十分之一。相反,任何尝试单击或按住 control 单击按钮 Xcode 都会弹出这个愚蠢的菜单:

对于我的生活,我不明白为什么会这样,我不明白为什么会弹出这个菜单以及如何避免它,但这意味着我不能使用控制拖动功能全部.

我应该补充一点,我使用的是带触摸条的 2017 Macbook Pro,我在任何其他应用程序中拖放都没有问题,在任何其他情况下 Xcode 也没有问题。

我可以看到它希望我 select 控件或其父控件之一,但是弹出菜单时如何拖动?

实际上,当我们按住 ctrl + shift 然后拖动鼠标时,就会发生这种情况。 因此,以这种方式思考,要么您不小心按下了两个键,要么是 windows 中的某些功能(例如粘滞键)执行此操作。

我认为这会帮助您更好地思考问题。

正如 sanjaykmwt 所说。仅当您在按住 Shift 键的同时拖动时才会显示该菜单。

该菜单适合您 select 位于其他视图下方(被其覆盖)的视图。有时,如果某些视图在其他视图下,您可能会遇到 select 问题,对吧?那就是当您按住 shift+control+click 时,菜单将向您显示所有彼此重叠的视图。在您的屏幕截图中,按钮位于 UIView 之上,而 UIView 位于 UIViewController.

之上

另一种控制拖动的方法是右击拖动。如果您还没有注意到,control+click 等于右键单击。

您也可以尝试使用连接检查器连接插座:

将"New Referencing Outlet"旁边的圆圈拖入助手编辑器正常

您需要在检查器中指定您在哪个控制器上工作的 class,而不是标准的 UIViewController、UITableViewController 等。 然后拖放 outlet/actions/outlet 集合即可 example