簡體   English   中英

UIPageViewController旋轉怪異

[英]UIPageViewController rotation weirdness

我已將UIPageViewController添加到我的應用程序中,以充當該應用程序的手冊。 當用戶將其彈出時,它將以縱向顯示一頁,以橫向顯示兩頁,中間居中。 由於我大約有100頁,因此在其上方有一個同級視圖UICollectionView頁面選擇器視圖,可以快速跳轉到頁面。 UIPageViewController和UICollectionView都位於包含兩者的后方視圖上。

我在UIPageViewController上遇到的問題是,當視圖第一次旋轉時,它們似乎將自己限制在原始布局的短尺寸上。 因此,如果它首先以縱向出現,則在旋轉以橫向顯示時,兩頁的寬度與舊的縱向寬度相同。 同樣,如果它首先出現有兩頁的風景,則旋轉到縱向具有正確的寬度,但是高度是初始風景高度的高度。 這在任何設備上都是一致的。

當我創建內容視圖時,它們的大小都達到了我想要的大小,但是由於某種原因,它們似乎已由UIPageViewController的某些組件進行了轉換,因此我無法理解為什么它只執行兩個維度之一,以及為什么總是如此“短邊”就是問題所在。

這是使我感到有點堅果的那種問題之一,關於如果不是一些瑣碎的錯誤配置我該如何調試呢?

經過長時間的調試,我終於找到了它。 關鍵提示是,在旋轉肖像到風景之前,將脊柱設置為視圖寬度的正確中間。 解決方案是將給定willAnimateRotationToInterfaceOrientation中的方向,將視圖的框架重置為新的大小。

在調用使用傳遞給方法的持續時間的動畫塊之前,我先計算了新的大小,然后在該塊內部有了:

  pageViewController.view.frame = newFrame;

旋轉頁面時,包含內容頁面的視圖將移動到正確的大小,並且正確放置了書脊,內容填充了給定區域。 我想我遇到了這個問題,因為視圖的復雜性要求我接管這么多的默認值,但是這個問題懸而未決。

暫無
暫無

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

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