如何在我的iPhone應用程序中使用UIScrollView內的UIDatePicker。我無法滾動選擇器上的日期,因爲它認爲我的手指正在控制UIScrollView。我試圖添加一個UIDatePicker到我的UIScrollView,這是我的UIViewController裏面。UIScrollView內的UIDatePicker - iPhone應用程序
0
A
回答
1
經過幾次試驗後,我發現這個問題的最佳解決方案是對包含日期選擇器的滾動視圖進行子類化,並進行命中測試以查看用戶是否嘗試觸摸選取器。我發現並修改了這個問題的下面的代碼UIDatePicker inside UIScrollView with pages
- (UIView*)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
UIView* result = [super hitTest:point withEvent:event];
if ([result.superview isKindOfClass:[UIPickerView class]] || [result.superview isKindOfClass:[UIDatePicker class]])
{
self.canCancelContentTouches = NO;
self.delaysContentTouches = NO;
}
else
{
self.canCancelContentTouches = YES; // (or restore bool from prev value if needed)
self.delaysContentTouches = YES; // (same as above)
}
return result;
}
3
您可以嘗試將滾動視圖的delaysContentTouches
屬性設置爲NO。
不過,更好的做法是重新考慮你的用戶界面。日期選取器佔用小型設備的大約一半的屏幕。即使您可以讓日期選擇器滾動而不是滾動視圖,您也可以將用戶置於難以滾動滾動視圖的位置。他們必須弄清楚,如果他們想要滾動滾動視圖,他們需要接觸選擇器的上方或下方......它不會很好用。
一種解決方案可能是讓用戶點擊日期,然後用日期選擇器呈現模態視圖控制器。這會讓用戶選擇一個新的日期,而不會對滾動產生任何歧義。
+0
+1 @Caleb對滾動困難是正確的,儘管這是我最終不得不忍受的事情。 – Rog
0
另一個解決方案是從底部向上彈出,當你想從選擇器中選擇數據。添加到你的視圖(self.view)。
相關問題
- 1. 嵌套UIScrollView-iPhone照片應用程序
- 2. PNG內iPhone應用程序
- 3. UIDatePicker崩潰的應用程序
- 4. 應用內購買iPhone應用程序?
- 5. 從iPhone的應用程序創建從UIScrollView的PDF
- 6. 在應用程序內購買的iPhone應用程序上傳
- 7. iPhone應用程序內的應用程序?
- 8. 更新iphone應用程序的內容
- 9. 如何從iPhone內部調用iPhone應用程序調用應用程序
- 10. 可用內存iPhone應用程序
- 11. Iphone應用程序佔用內存
- 12. iPhone應用程序:UIScrollView水平滾動嵌入UIScrollView與垂直滾動
- 13. iPhone/iPad應用程序更新內部應用程序本身
- 14. 從應用程序內部重新安裝iPhone應用程序
- 15. iPhone應用程序開發:內置應用程序增強
- 16. 從應用程序內關閉iPhone應用程序
- 17. IPhone應用程序:UIScrollView中滾動到底部加載時
- 18. UIScrollView,如何在iPhone應用程序中逐幀滾動?
- 19. iPhone應用程序內存泄漏
- 20. iPhone/iPad應用程序內存泄漏
- 21. iphone:應用程序內購買錯誤
- 22. MKMapView內存泄漏iPhone應用程序
- 23. iPhone應用程序內部錄音
- 24. iPhone應用程序內存問題
- 25. iPhone應用內屏幕保護程序
- 26. iPhone +在應用程序內購買
- 27. 內部應用程序分配 - iPhone
- 28. iPhone應用程序內購買
- 29. iphone應用程序NSNumber內存泄漏
- 30. iphone - 應用程序內購買查詢
你能說明你正在使用什麼平臺,或者你正在使用什麼語言? –
iOS - objective C – CodeGuy