簡體   English   中英

UIWindow中的iOS UIScrollView

[英]iOS UIScrollView in UIWindow

我目前正在制作一個iOS項目,其中有一個UIScrollView作為UIWindow的直接子視圖(使用[window addSubview:scrollView]; )。 窗口的框架及其內容已正確設置,並且contentSize設置為大於窗口的框架。 當我嘗試滾動UIScrollView時,它根本不會滾動。 scrollEnabledpagingEnabled都設置為YES ,但是scrollview不滾動,這使我相信滾動視圖甚至沒有接收到觸摸/滾動事件。 如果該窗口有所不同,則該窗口將添加一個UITapGestureRecognizer 我是否需要以某種方式將滑動事件轉發到UIScrollView ,還是有其他原因導致其不滾動?

編輯:這是一些代碼。

   float count=ceil([self.msgArray count]/2); //msgArray has length of 3+, NSLog()'d and confirmed.
   float contentHeight=97.5 * count;
   [dataScrollView setContentSize:CGSizeMake(320,contentHeight)];
   dataScrollView.userInteractionEnabled=YES;
   dataScrollView.pagingEnabled=YES;
   dataScrollView.scrollEnabled=YES;
   dataScrollView.clipsToBounds=YES; //Have also tried with this set to NO, or not set at all.
   //Add subviews to dataScrollView.

編輯:這是更多信息。 記錄時contentHeight為195.00。 我刪除了委托方法,回到了滾動視圖的直接子視圖。 窗口的高度為97.50。

編輯:我還從UIWindow中刪除了UITapGestureRecognizer,但是scrollview仍然無法滾動。

啊, UITapGestureRecognizer 這可能是一個錯誤,使我花了數小時才能確定自己的項目。 是否將其cancelsTouchesInView屬性設置為NO呢? (默認YES是”。如果您不期望它,它確實會讓您失望。)

只需記錄scrollview邊界的寬度/高度。 您要設置的內容高度應大於滾動視圖的高度。 如果更多,則滾動視圖將自動啟用其滾動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM