2012-09-26 44 views
2

我在view部分有一個按鈕位置......它的一半在視圖上,另一半在浮動。因此,如果A是我的基本視圖,B放置在它上面,並且我已將此按鈕添加到B上方。如果我點擊B部分上方的按鈕,它會接收觸摸並執行操作,但如果此觸摸位於外部B的區域比觸摸不被執行....我在這裏做錯了什麼...?任何幫助表示讚賞。與UIButton不接受點擊一半的區域麻煩....查看層次問題..?

這裏是我如何添加按鈕..我試圖動態刪除類似應用程序在IOS中刪除的按鈕。

UIButton *deletButton1 = [UIButton buttonWithType:UIButtonTypeCustom] ; 
     deletButton1.frame = CGRectMake(25, -5, 30,30);; 
     deletButton1.backgroundColor = [UIColor clearColor]; 
     deletButton1.tag=1; 
     UIImage *buttonImageNormal1 = [UIImage imageNamed:@"delete.png"]; 
     [deletButton1 setBackgroundImage:buttonImageNormal1 forState:UIControlStateNormal]; 
     [deletButton1 addTarget:self action:@selector(deleteButton:) forControlEvents:UIControlEventTouchUpInside]; 

[self.addButton1 addSubview:deletButton1]; 

這裏是一個屏幕截圖..

enter image description here

+0

你可以添加一些圖像/註釋捕獲,讓你的問題更清晰PLZ? Thx – AliSoftware

+1

「我在這裏做錯了什麼」將按鈕的一部分放在其父視圖之外,這就是你做錯了什麼:) – dasblinkenlight

回答

3

爲了記錄,如果覆蓋父視圖的正確方法,則子視圖不必位於父視圖的框架內以接收觸摸。

更多細節請參見本主題:

Interaction Beyond Bounds of UIView

+0

正是我正在尋找...非常感謝。 –

0

按鈕的框架應該從原點(0,0)開始。我的意思是按鈕應完全處於視圖B內。否則,切割區域無法接觸。使按鈕框架變爲(25,0,30,30)。

+0

實際的IOS如何使它工作,然後......? –

+0

因爲iOS是由Apple開發的:-)。刪除按鈕應該有一個超級視圖。你必須做的是在裏面創建一個UIView添加按鈕和刪除按鈕。把它看作你的按鈕和刪除按鈕的容器。那麼它應該完美地工作。 –

+0

你可以試試哥們。 –

0

要添加上addbutton1刪除按鈕使設置addbutton1的背景顏色,並設置deletebutton1的另一種顏色,並檢查天氣框架是正確與否。 我想你的框架不適合這就是爲什麼它正在發生,並確保你的deletebutton1不會因爲另一個視圖而被隱藏。

我不確定這 但檢查一次可能會幫助你。 [deletButton1 setNeedsDisplay];