আমি কেবল বিজ্ঞপ্তি কেন্দ্র ব্যবহার করি:
একটি ওরিয়েন্টেশন ভেরিয়েবল যুক্ত করুন (শেষে ব্যাখ্যা করবে)
//Above viewdidload
var orientations:UIInterfaceOrientation = UIApplication.sharedApplication().statusBarOrientation
ভিউ উপস্থিত হলে বিজ্ঞপ্তি যুক্ত করুন
override func viewDidAppear(animated: Bool) {
NSNotificationCenter.defaultCenter().addObserver(self, selector: "orientationChanged:", name: UIDeviceOrientationDidChangeNotification, object: nil)
}
ভিউটি চলে গেলে বিজ্ঞপ্তি সরান
override func viewWillDisappear(animated: Bool) {
NSNotificationCenter.defaultCenter().removeObserver(self, name: UIDeviceOrientationDidChangeNotification, object: nil)
}
বিজ্ঞপ্তি ট্রিগার করা হয় যখন বর্তমান ওরিয়েন্টেশন
func orientationChanged (notification: NSNotification) {
adjustViewsForOrientation(UIApplication.sharedApplication().statusBarOrientation)
}
ওরিয়েন্টেশন (প্রতিকৃতি / ল্যান্ডস্কেপ) পরীক্ষা করে এবং ইভেন্টগুলি পরিচালনা করে
func adjustViewsForOrientation(orientation: UIInterfaceOrientation) {
if (orientation == UIInterfaceOrientation.Portrait || orientation == UIInterfaceOrientation.PortraitUpsideDown)
{
if(orientation != orientations) {
println("Portrait")
//Do Rotation stuff here
orientations = orientation
}
}
else if (orientation == UIInterfaceOrientation.LandscapeLeft || orientation == UIInterfaceOrientation.LandscapeRight)
{
if(orientation != orientations) {
println("Landscape")
//Do Rotation stuff here
orientations = orientation
}
}
}
আমি একটি ওরিয়েন্টেশন ভেরিয়েবল যুক্ত করার কারণ হ'ল দৈহিক ডিভাইসে পরীক্ষা করার সময় ডিভাইসের প্রতিটি ছোটখাটো পদক্ষেপে ওরিয়েন্টেশন বিজ্ঞপ্তিটি ডেকে আনা হয়, এবং কেবল এটি ঘোরার সময় নয়। ভ্যার যুক্ত করা এবং যদি বিবৃতিগুলি কেবল কোডটিকে কল করে যদি এটি বিপরীত দিকনির্দেশে পরিবর্তন করে।
UIViewController
। "হ্যান্ডলিং ভিউ