मेरे पास एक सरल UIViewController के साथ एक UIPageViewController है।UIPageViewController + ऑटो लेआउट रोटेशन समस्या
यदि UIViewController के पास कोई सबव्यू नहीं है, तो घूर्णन के दौरान इसका दृश्य सही ढंग से आकार बदलता है। (ठोस हरी पृष्ठभूमि)।
UIViewController एक निश्चित फ्रेम के साथ एक subview नहीं है तो उसके दृश्य सही ढंग से जब घुमाया आकार बदलता है। (कोने में पीले रंग के वर्ग के साथ ठोस हरी पृष्ठभूमि)।
UIViewController अपने ऑटो लेआउट की कमी इसकी superview को भरने के लिए सेट के साथ एक subview नहीं है तो उसके दृश्य अब ठीक से आकार बदलता है जब घुमाया। (UIPageViewController की लाल पृष्ठभूमि दृश्य के साथ ठोस पीले रंग की पृष्ठभूमि)। ऑटो लेआउट कोड मैं का उपयोग करें:
UIView *v = [[UIView alloc] init];
[v setTranslatesAutoresizingMaskIntoConstraints:NO];
[v setBackgroundColor:[UIColor yellowColor]];
[[self view] addSubview:v];
NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings(v);
NSArray *cs = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|[v]|" options:0 metrics:nil views:viewsDictionary];
[[self view] addConstraints:cs];
cs = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[v]|" options:0 metrics:nil views:viewsDictionary];
[[self view] addConstraints:cs];
क्यों एक subview के ऑटो लेआउट अपने superview प्रभाव पड़ेगा? यह केवल तब होता है जब यह UIPageViewController के भीतर निहित है।
अरे सीनियर - मुझे आपके प्रश्न में वर्णित सटीक समस्या है। क्या आप इस उत्तर के साथ थोड़ा सा नमूना कोड प्रदान करने में सक्षम होंगे? मैं विजुअल फॉर्मेट लैंग्वेज (जैसे आप की तरह) के माध्यम से ऑटो लेआउट के साथ सबकुछ कर रहा हूं, और जब मैं घुमाता हूं, तो मेरा यूआईपीएज व्यू कंट्रोलर ठीक वही करता है जो आपने किया था। आपने कहा "और स्पष्ट रूप से ऑटो लेआउट बाधाओं को इसके दृश्य पर सेट नहीं किया है" - यदि आप इसके लिए कोड प्रदान कर सकते हैं, तो यह मुझे बहुत मदद करेगा और एक पूर्ण उत्तर प्रदान करेगा। धन्यवाद! – DiscDev