संभव डुप्लिकेट नहीं बदलता है:
“Incorrect” frame/window size after re-orientation in iPhoneIOS 6 रोटेशन बग: खिड़की और रूट देखें नियंत्रक फ्रेम रोटेशन के बावजूद
मैं एक ऐप्स के साथ एक बहुत निराशा होती है इस मुद्दे को हल करने के लिए कोशिश कर रहा हूँ मेरा - इसका अध्ययन करने में मुझे आईओएस में एक बग मिल सकती है:
जब आप आईपैड घुमाते हैं, तो दृश्य घूमता है, लेकिन यह फ्रेम नहीं बदलता है। मैं एक टाइमर चला रहा हूं जो प्रति सेकंड मेरे दृश्य की चौड़ाई और ऊंचाई को प्रिंट करता है, और हालांकि मैं दृश्य को दृश्यमान रूप से घूमता देख सकता हूं, फ्रेम "768x1024" रहता है चाहे कोई फर्क नहीं पड़ता।
एप्पल डॉक्स से:
जब यूजर इंटरफेस घूमता है, खिड़की नई उन्मुखीकरण मैच के लिए आकार दिया जाता है। विंडो नए आकार से मेल खाने के लिए अपने रूट व्यू कंट्रोलर के फ्रेम को समायोजित करती है, और इस आकार को बदले में दृश्य पदानुक्रम को अन्य दृश्यों में फैलाया जाता है।
यह वही है जो नहीं हो रहा है, और यह मुझे सभी प्रकार की परेशानी का कारण बन रहा है। क्या कोई जानता है कि रोटेशन को कैसे ठीक किया जाए ताकि फ्रेम बदल जाए?
कदम पुन: पेश करने:
- एक नया खाली परियोजना
- रूट दृश्य
- एक टाइमर बाहर रूट दृश्य नियंत्रक के फ्रेम चौड़ाई मुद्रित करने के लिए और ऊंचाई सेट के रूप में एक हड्डी शेयर UIViewController जोड़े बनाएं
- अपना ऐप चलाएं, और इसे चारों ओर घुमाएं।
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; self.window.rootViewController = [[UIViewController alloc] init]; NSLog(@"%fx%f", self.window.rootViewController.view.frame.size.width, self.window.rootViewController.view.frame.size.height); // Add a label to confirm orientation UILabel *orientationLabel = [[UILabel alloc] initWithFrame:CGRectMake(10,10,100,30)]; orientationLabel.text = @"Top Left"; [self.window.rootViewController.view addSubview: orientationLabel]; [NSTimer scheduledTimerWithTimeInterval:.3 target:self selector:@selector(testScale) userInfo:nil repeats:YES]; self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; return YES; }
- (void) testScale { NSLog(@"%fx%f", self.window.rootViewController.view.frame.size.width, self.window.rootViewController.view.frame.size.height); }
की डुप्लीकेट http://stackoverflow.com/questions/2686882/incorrect-frame-window-size-after-re-orientation-in-iphone और http://स्टैक ओवरफ़्लो।com/प्रश्न/11150495/ios-uiview-get-frame-after-rotation – Bot