এই ত্রুটি বার্তাটি উপস্থিত হতে পারে এমন আরও একটি মামলা রয়েছে। আমি সমস্যাটি না পাওয়া পর্যন্ত কয়েক ঘন্টা অনুসন্ধান করেছিলাম। এই থ্রেডটি বেশ কয়েকবার পড়ার পরে খুব সহায়ক হয়েছিল।
যদি আপনার মূল দেখার নিয়ামকটি ল্যান্ডস্কেপ ওরিয়েন্টেশনে ঘোরানো হয় এবং আপনি একটি কাস্টম সাব ভিউ কন্ট্রোলারকে অনুরোধ করেন যা প্রতিকৃতি নির্দেশে প্রদর্শিত হওয়া উচিত যখন আপনার কোডটি দেখায় এই ত্রুটি বার্তাটি ঘটতে পারে:
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationPortrait;
}
এখানে ফাঁদটি ছিল এক্সকোডের ইন্টিলিসেন্সটি "ইউআইআইন্টারফেস ওরিয়েন্টেশন পোর্ট্রেট" পরামর্শ দিয়েছে এবং আমি এটির যত্ন নিই না। প্রথম নজরে এটি সঠিক বলে মনে হয়েছিল।
ডান মুখোশের নামকরণ করা হয়েছে
UIInterfaceOrientationMaskPortrait
ছোট ইনফিক্স "মাস্ক" সম্পর্কে সচেতন থাকুন , অন্যথায় আপনার সাবভিউটি একটি ব্যতিক্রম এবং উপরে উল্লিখিত ত্রুটির বার্তা দিয়ে শেষ হবে।
নতুন enums কিছুটা স্থানান্তরিত হয়। পুরানো enums অবৈধ মান ফিরে!
(ইউআইএপ্লিকেশন.-তে আপনি নতুন ঘোষণাটি দেখতে পারেন: UIInterfaceOrientationMaskPortrait = (1 << UIInterfaceOrientationPortrait) )
সমাধানটি হ'ল:
- (BOOL)shouldAutorotate {
return YES;
}
- (NSUInteger)supportedInterfaceOrientations {
// ATTENTION! Only return orientation MASK values
// return UIInterfaceOrientationPortrait;
return UIInterfaceOrientationMaskPortrait;
}
দ্রুত ব্যবহারে
override func shouldAutorotate() -> Bool {
return true
}
override func supportedInterfaceOrientations() -> Int {
return Int(UIInterfaceOrientationMask.Portrait.rawValue)
}