Xcode 9按住Ctrl拖拽时弹出菜单,无法创建按钮Outlet
解决Xcode中Ctrl拖拽控件创建Outlet时弹出菜单的问题
我明白你作为iOS新手遇到这个问题有多抓狂——本来就刚上手,还卡在这么基础的步骤上。针对你2017款带Touch Bar的MacBook Pro遇到的这个情况,我整理了几个靠谱的解决方法,你可以挨个试试:
方法一:调整拖拽的起始位置和操作节奏
- 不要直接点击按钮的中心区域,试试点击按钮的边缘或者边框,按住Ctrl的同时立刻开始拖拽,减少在按钮上停留的时间——停留太久很容易触发右键菜单
- 拖拽动作尽量连贯,不要中途停顿,避免Xcode误识别你的操作意图
方法二:修改Xcode的Touch Bar相关设置
带Touch Bar的Mac可能会有触控交互的冲突:
- 打开Xcode偏好设置(点击顶部菜单栏
Xcode > Settings) - 切换到
General标签页 - 找到
Touch Bar相关选项,尝试关闭“在Touch Bar显示控件快捷操作”类的设置,或者调整触控灵敏度参数
方法三:用快捷键替代拖拽操作
如果拖拽实在不好用,试试更稳定的快捷键方式:
- 选中storyboard里的目标按钮
- 按下
Control + Option + Command + Return,Xcode会自动切换到对应的ViewController.swift文件并弹出连接配置窗口 - 在窗口中选择
Outlet,输入变量名称,点击Connect就能完成创建
方法四:重置Xcode偏好设置
有时候Xcode的缓存或偏好异常会导致这类奇怪问题:
- 完全退出Xcode(右键Dock里的Xcode图标选择退出,不要只最小化)
- 打开终端,输入以下命令并回车:
defaults delete com.apple.dt.Xcode
- 重新打开Xcode,再尝试拖拽操作
方法五:调整触控板系统设置
你的Mac触控板灵敏度可能过高:
- 打开系统设置(
System Settings) - 进入
Trackpad设置页面 - 降低“点击灵敏度”,或者关闭“用力点按和触觉反馈”(如果开启的话)——用力点按很容易被误识别为右键点击触发菜单
另外,你提到其他应用和Xcode其他场景拖拽正常,那大概率是Xcode针对storyboard控件的触控识别出了小问题,上面的方法应该能解决。如果还是不行,可以试试更新Xcode到最新版本,或者简单重启一下Mac——有时候重启就能搞定很多莫名其妙的小bug。
内容的提问来源于stack exchange,提问作者Cobus Kruger
相关产品推荐
相关产品推荐

