簡體   English   中英

Xcode故事板:無法將View添加到ViewController

[英]Xcode Storyboard: Can't add View to ViewController

我正在使用Xcode 10(在Swift 5和iOS 12上),我的應用當前設置如下:

  1. UIViewController 1(登錄屏幕)-segue12至->
  2. 自動創建的NavigationController
  3. 帶有UITableView UIViewController 2-segue23至->
  4. UIViewController 3(有關帶有自動創建的“后退”按鈕的UITableView項的詳細信息)

在此處輸入圖片說明

NavigationBar僅包含“”。

現在,我想在UITableView下方添加另一個帶有按鈕的UIView ,但是Xcode不允許我將其拖到UITableView下方,只能拖入UITableView或直接在“第一響應者”下方,這會將View置於其自己的窗口之外。

如果刪除“我的表格視圖”,它也將不允許我拖動替換。

如何解決此問題,以便添加新的UIView + UIButton

自動創建UIViewController 2的NavigationController

這說明了一切。 將導航控制器拖到情節提要中時,得到的是導航控制器及其根視圖控制器,而根視圖控制器是UITableViewController。

讓我們退后一會兒。 一個視圖控制器可以並且必須僅具有一個主視圖。 它占據了整個場景。 無法調整大小。 它不能具有同級視圖,因為它沒有父級視圖作為同級視圖的子級。 它只能有子級(子視圖)。

好吧,在這種情況下,ViewController2是UITableViewController,而MyTableView是ViewController2的主視圖。 (始終以這種方式配置表視圖控制器,這就是將導航控制器拖到情節提要中時所得到的。)這就是為什么您不能向其中添加更多視圖的原因,除了作為子視圖之外,例如原型單元內容。 除了表視圖內部 ,您的按鈕無處可去。

那么該怎么辦?

  • 如果您要添加的額外界面只是一個按鈕,通常的解決方案是將其放入導航欄中 它成為表視圖控制器導航項的一部分。

  • 如果您不想這樣做-也就是說,如果您確實希望按鈕和表視圖在界面中彼此相同,則您需要用普通的視圖控制器替換ViewController2本身。 現在,其主視圖將是普通視圖,您可以將所需的任何內容拖到其中,包括表格視圖和按鈕。 您更有可能使用容器視圖 (而不是裸表視圖),並將容器 嵌入表視圖控制器中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM