簡體   English   中英

點擊時UIButton不會獲得事件

[英]UIButton Not Getting Event When Tapped

我的iOS 7應用程序有一個帶有UIMapView的UIViewController。 它還有一個小視圖,上面有一個UIButton,當用戶將地圖拖到當前搜索區域之外時,它會顯示在地圖上。 顯示時,用戶可以點擊按鈕在當前地圖中心周圍搜索更多POI。

我正在使用來自iAd Suite示例代碼的Apple的BannerViewController,因此我可以在多個視圖中顯示一個廣告橫幅。 這要求我將視圖控制器嵌入容器中,以便BannerViewController可以顯示/隱藏廣告。 現在,當顯示帶有按鈕的小視圖時,觸摸按鈕不會像之前那樣觸發Touch Up Inside事件。

我正在使用Interface Builder並檢查了視圖層次結構中的所有視圖,並且它們都啟用了用戶交互。 以下是IB中的視圖層次結構:

BannerViewController的MapViewController

我知道這可能是我沒想到的愚蠢的東西,但我一直在看它太久而且需要一些幫助。

提前致謝。

更新#1

我從小視圖中刪除了UIButton並用一個輕敲手勢識別器替換它,但仍然沒有。 看來該視圖本身沒有任何觸摸事件。

更新#2

使用bringSubviewToFront將按鈕置於前面並沒有幫助。

更新#3

這是容器視圖控制器的子視圖列表:

<__NSArrayM 0x17c74ea0>(
<MKMapView: 0x15ddfe40; frame = (0 0; 320 367); clipsToBounds = YES; autoresize = TM+BM; layer = <CALayer: 0x15de1e90>>,
<UIView: 0x17c00030; frame = (0 317; 320 50); alpha = 0; autoresize = TM+BM; layer = <CALayer: 0x15d42dc0>>,
<_UILayoutGuide: 0x17c000f0; frame = (0 0; 0 0); hidden = YES; layer = <CALayer: 0x17c75400>>,
<_UILayoutGuide: 0x17c00160; frame = (0 0; 0 0); hidden = YES; layer = <CALayer: 0x17c751d0>>
)

我是對的,這是愚蠢的。 在所有人的評論之后,我檢查了容器,並且我沒有設置任何自動布局約束。 根據我的經驗,這意味着它將為它的框架創建全零。 一旦我添加了這些約束,一切都恢復正常。

感謝所有幫助我追蹤此事的人。

如果您正在嘗試使用iOS模擬器。請退出iOS模擬器並再次運行您的應用程序,如果您的代碼中的所有內容都在那里。

暫無
暫無

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

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