একটি 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