2011-04-12 96 views
1

這可能是我用這個方法可能有點不對,如果是的話也許有人可以建議......但無論如何,我的模式爲了創建響應者窗口小部件,需要添加一個不可見的UIButtonTypeCustom來填充UIView的邊界,以便向後兼容的按鈕行爲添加到任何視圖。爲了我的需要,這個工作非常好。爲了稍微改善使用這種混合按鈕的用戶體驗,我爲按鈕設置了showsTouchWhenHighlighted爲YES。這工作正常,但按鈕的「發光」由按鈕的父UIView剪輯。我試過了;UIView內的UIButton,與showsTouchWhenHighlighted輝光被超級視圖剪輯

button.layer.masksToBounds = NO; 
button.clipsToBounds = NO; 
parentView.layer.masksToBounds = NO; 
parentView.clipsToBounds = NO; 

但這些都不允許發光逃避父視圖的邊界。這是一個相當小的美容問題,但我認爲它會看起來更好,讓這個工作

希望有人可以幫助!謝謝

回答

0

我使用這樣的代碼,輝光不會被父母剪裁 - 驗證和測試。

UIButton myButton = [[UIButton alloc] init....]; 
[parentView addSubview:myButton]; 
myButton.showsTouchWhenHighlighted = YES; 
parentView.clipsToBounds = NO; 

無需在按鈕上設置.clipsToBounds = NO;默認已經是NO。

您是否在設置屬性時檢查了parentView是否爲非零?請檢查層次結構中是否還有其他UIView可能會削弱發光效果。