簡體   English   中英

Xcode中的Control-drag給出了出口,但是UIButton沒有動作。 為什么?

[英]Control-drag in Xcode gives outlets, but no action for UIButton. Why?

在我正在構建的應用程序中,我有一個導航控制器,其中一個View Controller作為子視圖連接(這是正確的詞嗎?)。 我添加了一個UIButton並嘗試將其拖放到視圖控制器類文件中,但它只是給我Outlet和Outlet集合作為選項,而不是Action。

我所看到的屏幕截圖

這是一個非常簡單的應用程序,我曾嘗試刪除Pods作為修復程序,但到目前為止還沒有運氣。

我也嘗試過手動編寫該函數,然后嘗試將其連接回該按鈕,但無濟於事。 拖回工作區中的按鈕不起作用,並且在測試應用程序時該功能未觸發。 這是我嘗試的代碼:

@IBAction func tapSaveButton(_ sender: UIButton) {}

這可能很簡單,所以我在這里想念什么?

編輯:另外,這是我的設置方法。 我有一個帶有UINavigationItem的導航控制器,其中顯示了一個子ViewController。 有問題的按鈕在子ViewController中,我設置了一個新的swift文件來處理該ViewController的類。 我正在嘗試將該按鈕連接到該類文件中,這是它不起作用的地方。

我的故事板的屏幕截圖

這是我的ViewController類的代碼:

import Foundation
import UIKit
import KeychainSwift


class SettingsViewController : UIViewController {

    let keychain = KeychainSwift()

    @IBOutlet weak var APIKeyField: UITextField!
    @IBOutlet weak var WebSocketIPField: UITextField!
    @IBOutlet weak var SettingsSaveButton: UIButton!

    override func viewDidAppear(_ animated: Bool)  {
        super.viewDidAppear(animated)

        /* My other code, not related */
    }

    @IBAction func tapSaveButton(_ sender: UIButton) {

        // My button actions here.

    }

}

當然,這有點愚蠢。 我從按鈕中刪除了該類,然后中提琴,它使我可以在Swift文件中創建一個動作。

也許您嘗試連接到其他ViewController,請再次檢查它是否正確並正確連接到Storyboard上

右鍵單擊情節提要中的uibutton,您應該在“已發送事件”下看到一系列操作選項,最常用的是“ Touch Up Inside”。

從所需的位置(圓形到側面)拖到視圖控制器上,一切都應該正常工作。

編輯:為清楚起見,您甚至可以將“ Touch Up Inside”拖到您已經創建的函子中,只要它被標記為

@IBAction ...

您的代碼已經完成了。

這是我的意思的一個例子

控制拖動后,它看起來像這樣

選擇視圖控制器,然后分配類

當我在項目中添加本地化時,也發生了這種情況。從那時開始,在本地化中添加了情節提要,情節提要按鈕不顯示任何操作選項,僅顯示插座選項。

暫無
暫無

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

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