无法将新创建的视图链接到情节提要中的View Controller类

时间:2019-06-26 22:06:15

标签: ios swift xcode

我正在创建一个iOS应用,并在Storyboard中创建了许多不同的视图,以及代表不同ViewController对象的许多.swift文件。由于某些原因,我无法弄清楚如何将我创建的视图与其他ViewController(即.swift文件)链接。

我知道我应该从情节提要中的视图拖放或拖放到右侧的“自定义类”下拉列表(或与此类似的内容)。但是我看不到使ViewControllers为自定义类的选项。

任何人都可以帮助找出问题所在吗?我觉得这很微不足道,除非我丢失了一些东西,之前我已经很容易做到这一点,但现在已经消隐了一段时间。

在下图中,您可以看到我可以链接到Storyboard中的一些视图控制器,但是我不再能够链接底部的两个“ View Controller Scenes”(后来我将其创建到其他ViewController)我稍后制作的.swift文件。

enter image description here

1 个答案:

答案 0 :(得分:1)

要将您的struct OCMInfo { LPARAM lParam; LRESULT lResult; }; LRESULT WINAPI DefParentProc(HWND hwnd, UINT umsg, WPARAM wparam, LPARAM lparam) { switch (umsg) { case WM_NOTIFY: { NMHDR* nmhdr = (NMHDR*)lparam; if (nmhdr->hwndFrom != NULL) { OCMInfo info; info.lParam = lParam; info.lResult = 0; if (SendMessage(nmhdr->hwndFrom, umsg + OCM__BASE, wparam, (LPARAM)&info)) return info.lResult; } break; } // All of these provide the control's HHWND in LPARAM case WM_COMMAND: case WM_CTLCOLORBTN: case WM_CTLCOLOREDIT: case WM_CTLCOLORDLG: case WM_CTLCOLORLISTBOX: case WM_CTLCOLORMSGBOX: case WM_CTLCOLORSCROLLBAR: case WM_CTLCOLORSTATIC: case WM_VKEYTOITEM: case WM_CHARTOITEM: if (lparam != 0) { OCMInfo info; info.lParam = lParam; info.lResult = 0; if (SendMessage((HWND)lparam, umsg + OCM__BASE, wparam, (LPARAM)&info)) return info.lResult; } break; // All of these provide ID of the control in WPARAM: case WM_DRAWITEM: case WM_MEASUREITEM: case WM_DELETEITEM: case WM_COMPAREITEM: if (wparam != 0) { HWND hwndControl = GetDlgItem(hwnd, wparam); if (hwndControl) { OCMInfo info; info.lParam = lParam; info.lResult = 0; if (SendMessage(hwndControl, umsg + OCM__BASE, wparam, (LPARAM)&info)) return info.lResult; } } break; // Note we do not reflect WM_PARENTNOTIFY -> OCM_PARENTNOTIFY as that // usually does not make much sense. } return DefWindowProc(hwnd, umsg, wparam, lparam); } LRESULT WINAPI DefChildProc(HWND hwnd, UINT umsg, WPARAM wparam, LPARAM lparam) { switch (umsg) { case OCM__NOTIFY: { OCMInfo* info = (OCMInfo*)lparam; NMHDR* nmhdr = (NMHDR*)(info->lparam); if (...) { ... info->lResult = ...; return TRUE; } break; } case OCM__COMMAND: { OCMInfo* info = (OCMInfo*)lparam; if (...) { ... info->lResult = ...; return TRUE; } break; } ... } return DefWindowProc(hwnd, umsg, wparam, lparam); } 文件连接到ViewController.swift,请执行以下操作:

  1. 在情节提要中选择ViewController
  2. 导航到右侧面板上的身份检查器
  3. 课程字段中,选择下拉箭头。
  4. 在情节提要中选择要链接到ViewController的{​​{1}}文件。

这是一个非常容易错过的步骤。我自己做过很多次了。供以后参考,在情节提要中创建新的ViewController.swift时,请尽快将其连接到其ViewController文件。否则,可能会导致错误的Interface Builder连接等。