একটি UIScrollView
সক্রিয় পেজিং সঙ্গে তার ফ্রেম প্রস্থ (অথবা উচ্চতা) এর গুণিতক থামবে। সুতরাং প্রথম পদক্ষেপটি আপনার পৃষ্ঠাগুলি কত প্রশস্ত হতে চান তা নির্ধারণ করা to এর প্রস্থটি তৈরি করুন UIScrollView
। তারপরে, আপনার সাবউভিউয়ের আকারগুলি যত বড় হতে পারে সেগুলি সেট করুন এবং সেগুলির কেন্দ্রগুলির দৈর্ঘ্যের প্রস্থের বহুগুণের ভিত্তিতে সেট করুন UIScrollView
।
তারপরে, যেহেতু আপনি অন্যান্য পৃষ্ঠাগুলি অবশ্যই দেখতে চান, যেমনটি মুহজয়ীর বক্তব্য অনুযায়ী সেট করা clipsToBounds
আছে NO
। কৌতুক অংশটি এখন এটি স্ক্রোল করতে পাচ্ছে যখন ব্যবহারকারী যখন UIScrollView
এর ফ্রেমের সীমার বাইরে টানা শুরু করে । আমার সমাধান (যখন আমাকে খুব সম্প্রতি এটি করতে হয়েছিল) নীচে ছিল:
একটি UIView
সাবক্লাস (যেমন ClipView
) তৈরি করুন যাতে এতে UIScrollView
এবং এর সাবউভিউ থাকবে। মূলত, এটি UIScrollView
সাধারণ পরিস্থিতিতে আপনার কী হবে তা ধরে নেওয়ার ফ্রেম থাকা উচিত । UIScrollView
এর মাঝখানে রাখুন ClipView
। নিশ্চিত করুন ClipView
'র clipsToBounds
সেট করা হয় YES
যদি তার প্রস্থ তার পিতা বা মাতা দৃশ্য যে এর চেয়ে কম। এছাড়াও, ClipView
প্রয়োজনগুলির একটি রেফারেন্স প্রয়োজন UIScrollView
।
চূড়ান্ত পদক্ষেপটি এর - (UIView *)hitTest:withEvent:
ভিতরে ওভাররাইড করা ClipView
।
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
return [self pointInside:point withEvent:event] ? scrollView : nil;
}
এটি মূলত UIScrollView
এর পিতামাতার দেখার ফ্রেমের স্পর্শ অঞ্চলটি প্রসারিত করে , আপনার ঠিক কী প্রয়োজন।
আরেকটি বিকল্প হ'ল সাবক্লাস UIScrollView
এবং এর - (BOOL)pointInside:(CGPoint) point withEvent:(UIEvent *) event
পদ্ধতিটি ওভাররাইড করা হবে তবে ক্লিপিং করার জন্য আপনার এখনও একটি ধারক দৃশ্যের প্রয়োজন হবে এবং YES
কেবলমাত্র UIScrollView
ফ্রেমের উপর ভিত্তি করে কখন ফিরে আসবেন তা নির্ধারণ করা কঠিন হতে পারে ।
দ্রষ্টব্য: আপনার জুড়ি পাকাস্তে হিট টেস্ট: উইথ এভেন্ট: সংশোধন করা উচিত যদি আপনার সাবউভিউ ব্যবহারকারী ইন্টারঅ্যাকশন নিয়ে সমস্যা হয় having