2013-09-30 73 views
0

我有一個刪除按鈕,當我在表格視圖的行上向左滑動時出現。當您在視圖外點擊時隱藏刪除按鈕

我希望能夠隱藏這個按鈕,如果用戶點擊視圖中的任何其他地方。我怎麼做?我嘗試在所有視圖的底部放置一個巨大的按鈕,但按鈕沒有檢測到外部的水龍頭。

viewDidLoad,我添加視圖控制器作爲目標:

[self.backgroundButton addTarget:self action:@selector(backgroundButtonTapped:) forControlEvents:UIControlEventTouchUpInside]; 

而在回調我只是有一個消息:

- (IBAction)backgroundButtonTapped:(id)sender { 
    NSLog(@"BACKGROUND VIEW TOUCHED"); 
} 

但是,當我在一般區域挖掘外,我沒有看到該消息。

+0

您的UIButton是否存在一些其他視圖背後的可能性? Cud你嘗試給你的UITableView和所有其他視圖提供不同的bgColor,並檢查按鈕是否在所有視圖之外。 – HRM

+0

謝謝HRM。該視圖確實隱藏在包括tableview和collection視圖在內的所有子視圖之後。我認爲這是關鍵? – serverman

+0

不客氣......希望修正問題...... :) – HRM

回答

0

我解決了這個問題如下:

。創建了一個視圖TopView從UIView 分類。將我的頂級視圖的課程更改爲此課程。 。在我的邏輯適當的地方,存儲需要隱藏在頂視圖中的子視圖

self.view.mySubview = subview; 

。在頂視圖中覆蓋hitTest:withEvent。在這裏,我檢測的外部外的子視圖,並根據需要隱藏子視圖。

+0

如果你解決了你的問題,我建議你選擇你自己的答案作爲接受的答案。 –

+1

嗯..它確實讓我接受它 - 所以我做到了 - 謝謝:) – serverman