1
我有一個奇怪的錯誤,其中UIView裏面的兩個UIButtons,反過來在UIScrollView視圖內不能在iOS 5上點擊,但在iOS 6上工作得很好(截圖顯示的是滾動條和地圖下)iOS 5在UIScrollView UIButtons不可點擊
唯一的其他細節是滾動視圖'向上滑動',以顯示按鈕時,選擇一個站。我嘗試過在iOS 5上選擇按鈕,並且它們確實被擊中(視覺上),但事件並未被解僱。
編輯:如果我點擊並按住在模擬器中的按鈕,然後將光標在屏幕和釋放(例如到總是可見的UIView的一部分),該事件觸發。
滾動視圖本身具有以下設置,後兩個只在爲了嘗試使按鈕上的iOS 5工作被添加(試過各種組合):
self.scrollView.clipsToBounds = YES;
self.scrollView.scrollEnabled = YES;
self.scrollView.pagingEnabled = YES;
self.scrollView.delaysContentTouches = NO;
self.scrollView.canCancelContentTouches = NO;
按鈕事件都是正確接線,用合適的目標等:
[_updatePriceButton addTarget:self action:@selector(showPriceUpdateBoxWithPrice:) forControlEvents:UIControlEventTouchUpInside];
[_stationDetailsButton addTarget:self action:@selector(stationDetailsSelected:) forControlEvents:UIControlEventTouchUpInside];
和處理程序(這裏有一個作爲樣品):
- (void)stationDetailsSelected:(id)sender {
if ([self.delegate respondsToSelector:@selector(stationDetailsSelected:)]) {
[self.delegate stationDetailsSelected:_station];
}
}
任何幫助將是偉大的!
是包含按鈕的UIView實際上足夠高以完全保存按鈕?如果情況並非如此,則觸摸事件可能無法觸及它們。快速找出方法是給視圖一個背景顏色。 – jverrijt 2013-03-25 20:35:57
是的,似乎是 - 給它一個可愛的綠色,它包括按鈕。 UIView本身是由界面構建器構建的。 – Paul 2013-03-25 20:39:58
只是想確認一下:'userInteractionEnabled = YES',對嗎? – rog 2013-03-25 22:23:22