2013-04-18 36 views
0

下面的交互我有一個自定義UIToolbar在我UINavigationController,具有自定義背景圖片。 圖像右側是半透明的。我遇到的問題是某些視圖右下方有按鈕,而且這些按鈕的底部部分無法被點擊,因爲工具欄會阻止它。UIToolbar - 允許工具欄

我不能在UIToolBar上設置userInteractionEnabled = NO,因爲該欄包含UIBarButtonItem,它們需要保持交互。

有沒有一種方法,使巴忽略輕擊輸入(但不是UIBarButtonItem S)?

+0

什麼是「製表符輸入」? – Mundi

回答

1

您可以在工具欄上設置userInteractionEnabled = YES,但覆蓋hitTest:point,如How to get touches when parent view has userInteractionEnabled set to NO in iOS中所述。這使得它忽略本身的任何接觸,但接受任何子視圖任何觸摸(UIBarButtonItem在你的情況下):

- (id)hitTest:(CGPoint)point withEvent:(UIEvent *)event { 
    id hitView = [super hitTest:point withEvent:event]; 

    if (hitView == self) { 
     return nil; 

    } else { 
     return hitView; 
    } 
} 

注意,這將需要你繼承UIToolbar