ฉันกำลังพยายามสร้างเอฟเฟกต์โดยเปลี่ยนเค้าโครงของ UICollectionView ในขณะที่เปลี่ยนขนาดเฟรม
ในตอนแรก เค้าโครง collectionView จะแสดงสไตล์แกลเลอรี "ภาพขนาดย่อ" แบบเต็มหน้าจอ
หลังจากปรับขนาดกรอบเป็นแถบบางๆ - ผมขอนำเสนอเค้าโครงสไตล์ "แถบฟิล์ม"
ทั้งสองเลย์เอาต์ทำงานได้ดีและเป็นไปตามที่คาดไว้
ฉันลองใช้โค้ดที่คล้ายกับสิ่งนี้:
[UIView animateWithDuration:1
delay:0.0
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self.collectionview.frame = newFrame; // animate the frame size
}
completion:^(BOOL finished) {
[self.collectionView.collectionViewLayout invalidateLayout];
[self.collectionView setCollectionViewLayout:filmstriplayout animated:YES]; // now set the new layout
}];
แต่มันดูขาด ๆ หาย ๆ และไม่ปรับขนาดตามที่คาดไว้
มีวิธีใดที่ฉันสามารถเปลี่ยนเค้าโครงมุมมองคอลเลกชันและขนาดเฟรมพร้อมกันในขณะที่ทำให้การเปลี่ยนแปลงเคลื่อนไหวได้หรือไม่
performBatchUpdates:withCompletion:
นั้นดี แต่ไม่ได้ช่วยในการรวมการเปลี่ยนแปลงframe
หรือcontentOffset
แบบเคลื่อนไหว ฉันต้องการสิ่งนี้เพื่อให้การซูมแอนิเมชั่นราบรื่นเด้งกลับมา โดยที่เค้าโครงของฉันและcontentOffset
ขึ้นอยู่กับการซูม - person Benjohn   schedule 02.08.2015