যদি আমার তত্ত্বাবধানটি প্রতিটি পাশের 10 টি ইউনিট পরিমাপের একটি বাক্স এবং আমার সাবভিউটি 20 ইউনিট প্রশস্ত, clipsToBounds
সেট করা আছে YES
, তবে আমি কেবল পর্যবেক্ষণের অংশটি দেখতে পাব যা তদারকির সীমানার মধ্যে ফিট করে। অন্যথায়, যদি clipsToBounds
সেট করা থাকে NO
, আমি সম্পূর্ণ সাবভিউটি দেখতে পাব, এমনকি সুপারভিউর বাইরের অংশগুলি (ধরে নিই আমরা পর্দায় রয়েছি)।
ভিজ্যুয়াল উদাহরণ হিসাবে স্টোরিবোর্ডে সেট আপ করা নিম্নলিখিত ভিউগুলি বিবেচনা করুন:
এটি একটি সাদা UIView
, উপরের বাম কোণে একটি সরল "1" বা "2" সহ একটি লেবেল যাতে আমি এগুলি হিসাবে view1
বা হিসাবে আলোচনা করতে পারি view2
। অতিরিক্তভাবে, কালো দর্শনটি সাদা দর্শন হিসাবে একই আকারের, তবে এটির উত্সটি সাদা দর্শনের কেন্দ্রে।
দেখুন নিয়ন্ত্রকের viewDidLoad
পদ্ধতিতে, আমাদের নিম্নলিখিত কোড রয়েছে:
উদ্দেশ্য গ:
- (void)viewDidLoad {
[super viewDidLoad];
self.view1.clipsToBounds = YES;
self.view2.clipsToBounds = NO;
}
সুইফট:
override func viewDidLoad() {
super.viewDidLoad()
self.view1.clipsToBounds = true
self.view2.clipsToBounds = false
}
আমরা যখন কোডটি চালনা করি এবং সিমুলেটর বা ডিভাইসে সন্ধান করি তখন আমরা নিম্নলিখিত ফলাফলগুলি পাই:
সুতরাং, এই মতামতগুলি অভিন্নভাবে (ব্যতীত clipsToBounds
) সেট আপ করা সত্ত্বেও , তারা অন্যরকম দেখাচ্ছে। এটি কি clipsToBounds
করে। এটিকে সেট করা নীচের ফলাফলটি সরবরাহ YES
করার সময় শীর্ষ ফলাফল NO
সরবরাহ করবে।
আমরা যদি ভিউ হায়ারার্কিটি ডিবাগ করি তবে আমরা আরও স্পষ্ট দেখতে পাচ্ছি যে কালো বাক্সগুলি উভয়ই হোয়াইট ভিউয়ের বোর্ডারদের অতীতে প্রসারিত করে তবে অ্যাপ্লিকেশনটি আসলে চলছে কেবলমাত্র 2 টি দেখায়:
UITextView
ছায়া দৃশ্যমান নয়,clipsToBounds
সম্পত্তি সমান হলেtrue
; ? যদি তা হয় তবে ঠিকfalse
কাজ করে