ฉันจะรับเพจ UIScrollView ด้วยนิ้วได้อย่างไร

ฉันมี 5 มุมมอง (มุมมอง 1, มุมมอง 2, มุมมอง 3, มุมมอง 4, มุมมอง 5) ใน UIScrollView ที่จัดชิดด้วยการปัดนิ้ว

ปัญหา: หากฉันตั้งค่า pagingEnable = YES ฉันจะไม่สามารถเลื่อนดูได้มากกว่า 1 ครั้ง เมื่อฉันตั้งค่า pagingEnable = NO การเลื่อนไม่ได้อยู่ตรงกลางมุมมองปัจจุบัน

งาน: ฉันต้องควบคุมการเลื่อนผ่านมุมมองทั้งหมดด้วยนิ้วของฉันและ

  • ถ้าฉันแตะที่มุมมอง
  • ถ้าฉันหยุดเลื่อน
  • หากการเลื่อนหยุดด้วยตัวเอง ฉันต้องการให้มุมมองปัจจุบันอยู่ตรงกลางเหมือนกับว่า pagingEnable เป็น YES

ฉันพบคำตอบนี้ แต่ก็ไม่ได้ช่วยอะไรจริงๆ

PagingEnabled สำหรับหลายหน้าใน UIScrollView

ฉันจะปล่อยให้ UIScrollView ( pagingEnabled) เพื่อย้าย 1.2 หน้าในแต่ละครั้งหรือไม่


person flowmachine1    schedule 27.12.2013    source แหล่งที่มา


คำตอบ (1)


คุณควรดูการใช้การโทรกลับของผู้รับมอบสิทธิ์สำหรับ:

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
{
  *targetContentOffset = // calculate the required offset to have the scrollview centered
}
person Paul.s    schedule 27.12.2013