我在其中一個視圖控制器中添加了具有自定義圖像且沒有文本的UIButton。在該導航欄中也是默認按鈕返回。我使用Connection連接了UIButton:Action,Type:UIButton,Event:Touch Up Inside和Arguments:Sender。UIButton未註冊觸摸
當我點擊那個按鈕時沒有任何反應,它根本沒有註冊觸摸。 Button Back正常工作。
這究竟是爲什麼?如何解決它?
我在其中一個視圖控制器中添加了具有自定義圖像且沒有文本的UIButton。在該導航欄中也是默認按鈕返回。我使用Connection連接了UIButton:Action,Type:UIButton,Event:Touch Up Inside和Arguments:Sender。UIButton未註冊觸摸
當我點擊那個按鈕時沒有任何反應,它根本沒有註冊觸摸。 Button Back正常工作。
這究竟是爲什麼?如何解決它?
試試這個:
既然你將它添加到導航欄它必須是一個UIBarButtonItem
。所以你連接到它的動作插座必須有一個UIBarButtonItem
而不是UIButton
。
檢查UIBarButtonItem
的插座是否連接正確。
檢查是否啓用了UIBarButtonItem
的用戶交互。
我無法將'UIBarButtonItem'拖放到'View Controller'中的'Navigation Bar'上。我只能將'UIBarButtonItem'拖到主導航欄。如果'Navigation Bar'有Back按鈕,我不能在'Main.storyboard'中拖拽'UIBarButtonItem'到它。 – user3847113
是的,因爲UIBarButtonItem只意味着添加到酒吧而不是其他地方。但是你仍然可以將其插座拖放到視圖控制器類中。 – PGDev
當我點擊該按鈕沒有任何反應,這不是註冊觸摸的。
當我看到這個投訴時,有99%的時間,原因是你已經把按鈕放在它的超級視圖之外。其超視圖外的按鈕是可見的(默認情況下),但不可觸摸。 (有時候,這是因爲上海華本身從來沒有得到一個大小等大小爲零。其他時候,它是某些其他原因)
我不能告訴你了,因爲你沒有告訴任何更多(即你沒有給出這個按鈕如何進入導航欄的細節)。但我敢打賭,如果你深入挖掘,你會發現我的猜測是正確的。
嗨,我只是將該按鈕拖到Main.storyboard中的導航欄並設置約束,高度和寬度。我添加了圖片,以便更好地瞭解它的外觀。 – user3847113
我解決它首先添加導航條到導航欄,然後將按鈕添加到導航項。
要添加導航欄上的按鈕,您可以添加這樣的:
let leftButton = UIBarButtonItem(title: "abc", style: .Plain, target: self, action: #selector(ViewController.buttonClicked(_:)))
let navigationItem = UINavigationItem()
navigationItem.titleView = UIImageView(image: UIImage(named: "image.png"))
navigationItem.leftBarButtonItem = leftButton
這是左鍵。你可以用同樣的方法添加右鍵。
你沒有拍照,我懷疑你沒有設置的按鈕尺寸,它可能太小 – aircraft
這不是小的。大小是35x35。你可以清楚地看到它。 – user3847113
你可以在你的文章中拍照嗎? – aircraft