আমি আইবিতে একাধিক সীমাবদ্ধতার সেট আপ করেছি এবং আমি কিছু স্টেটের উপর নির্ভর করে প্রোগ্রামের মাধ্যমে তাদের মধ্যে টগল করতে চাই। এখানে একটি constraintsA
আউটলেট সংগ্রহ রয়েছে যার সবগুলিই আইবি থেকে ইনস্টল হিসাবে চিহ্নিত করা হয়েছে এবং একটি constraintsB
আউটলেট সংগ্রহ যা সবগুলি আইবিতে আনইনস্টল করা আছে।
আমি প্রোগ্রামের মতো দুটি সেট এর মধ্যে টগল করতে পারি:
NSLayoutConstraint.deactivateConstraints(constraintsA)
NSLayoutConstraint.activateConstraints(constraintsB)
কিন্তু ... কখন করতে হবে তা বুঝতে পারি না । মনে হচ্ছে আমার একবারে এটি করতে সক্ষম হওয়া উচিত viewDidLoad
তবে আমি এটি কাজ করতে পারি না। আমি ফোন করে view.updateConstraints()
এবং view.layoutSubviews()
সীমাবদ্ধতাগুলি স্থির করার পরে চেষ্টা করেছি , কিন্তু কোন ফলসই হয়নি।
আমি খুঁজে পেয়েছি যে আমি যদি প্রতিটি ক্ষেত্রে সীমাবদ্ধতাগুলি সেট করি তবে viewDidLayoutSubviews
প্রত্যাশা অনুযায়ী কাজ করে। আমার ধারণা আমি দুটি জিনিস জানতে চাই ...
- আমি কেন এই আচরণ পাচ্ছি?
- ভিউডিডলড থেকে সীমাবদ্ধতাগুলি সক্রিয় / নিষ্ক্রিয় করা কি সম্ভব?