UICollectionView 與螢幕旋轉 問題

2021-07-10 15:46:51 字數 1946 閱讀 6058

原來的**:

我有乙個使用**庫檢視uicollectionviewuicollectionviewflowlayout,它有pagingenabled和滾動水平顯示一次只有乙個檢視。

直到我試著旋轉它非常適合......

當我在旋轉裝置,willrotatetointe***ceorientation:duration:更新collectionview.contentoffset所以它停留在正確的專案上,所以它在動畫演示成新尺寸調整大小 currentcell.的問題是在動畫中的兩個國家之間,'以前' 方向進行動畫處理從左上角和扔到檢視中的其他單元格。什麼是我做錯了這樣正在進行動畫處理從螢幕上的檢視是福吧?

在這裡是什麼它看起來像在行動中:

這裡是我willanimaterotationtointe***ceorientation:duration

- (void)willanimaterotationtointe***ceorientation:(uiinte***ceorientation)tointe***ceorientation duration:(nstimeinterval)duration  else 

self.collectionview.collectionviewlayout = flow;

[self.collectionview.collectionviewlayout invalidatelayout];

// get the currently visible cell

previewcellview *currentcell = (previewcellview*)[self.collectionview cellforitematindexpath:[nsindexpath indexpathforrow:_currentindex insection:0]];

// resize the currently index to the new flow's itemsize

cgrect frame = currentcell.frame;

frame.size = flow.itemsize;

currentcell.frame = frame;

// keep the collection view centered by updating the content offset

cgpoint newcontentoffset = cgpointmake(_currentindex * frame.size.width, 0);

self.collectionview.contentoffset = newcontentoffset;

}

據我所知我找不到任何地方任何示例**說明了如何使優雅地旋轉**庫樣式集合檢視。

解決方法 1:

我掙扎著與此相當一段時間,直到至少發現了此 '化妝品的解決方法:

在旋轉過程中新增全屏 uiimageview 與當前影象 (和正確的自動布局設定的約束) 在之間導航。就像這樣:

-(void)willrotatetointe***ceorientation:(uiinte***ceorientation)tointe***ceorientation duration: (nstimeinterval)duration 

-(void)didrotatefrominte***ceorientation:(uiinte***ceorientation)frominte***ceorientation

大的 'fakebackground' 會防止部分是可見此 imageviews 框架外,而它旋轉的醜陋集合檢視動畫的額外改進。例如超大 (大於所有維度中的檢視的邊界) uiview 與之間導航,帶有 z-索引只之間導航和 imageview 之間的背景顏色相同。

iOS螢幕旋轉與鎖屏

主要涉及以下4點 橫豎屏的旋轉 螢幕旋轉相應改變檢視位置 旋轉時狀態列的隱藏與顯示 鎖屏 1 橫豎屏旋轉 2 螢幕旋轉相應改變檢視位置 這裡先擴充套件uideviceorientation uiinte ceorientation的知識 其實uideviceorientation與uiinte ce...

wince螢幕旋轉

wince4.2以上 dk2440 drivers display s3c2440lcd s3c2440disp.cpp中 s3c2440disp s3c2440disp void 由此可看出,改變登錄檔中相應位置就可改變旋轉角度.為了驗證,直接通過pb的遠端修改登錄檔工具修改 hkey local...

IOS螢幕旋轉

本部分 感謝原作者分享!螢幕旋轉學習筆記 加速計是整個ios螢幕旋轉的基礎,依賴加速計,裝置才可以判斷出當前的裝置方向,ios系統共定義了以下七種裝置方向 typedef ns enum nsinteger,uideviceorientation 以及如下四種介面方向 typedef ns enum...