2015-01-19 6 views
6

के साथ दिखाया गया है मैं सार्वभौमिक स्टोरीबोर्ड के साथ सार्वभौमिक आईफोन/आईपैड एप्लिकेशन पर काम कर रहा हूं। कुछ व्यू कंट्रोलर के लिए मैं आकार वर्गों का उपयोग कर रहा हूं यदि उनके पास आईपैड पर कुछ विशिष्ट लेआउट है।UIViewController के गलत आकार-वर्ग UIPopoverController

मेरे पास एक व्यू कंट्रोलर है जिसे आईफोन पर सामान्य रूप से प्रस्तुत करने की आवश्यकता है लेकिन आईपैड पर इसे यूआईपीओवर कंट्रोलर में दिखाया जाना चाहिए।

UINavigationController *navigationController = [self.storyboard instantiateViewControllerWithIdentifier:@"ComposeMessageNavigationController"]; 
ComposeMessageViewController *viewController = (ComposeMessageViewController *)navigationController.topViewController; 
//Prepeare my view controlller 
... 

if (IS_IPAD) { 
    UIPopoverController * popover = [[UIPopoverController alloc] initWithContentViewController:navigationController]; 
    CGSize screenSize = [UIScreen mainScreen].bounds.size; 
    CGRect popoverFrame = CGRectMake(screenSize.width/2, screenSize.height/2, 1, 1); 
    [popover presentPopoverFromRect:popoverFrame inView:self.view permittedArrowDirections:0 animated:YES]; 
} else { 
    [self presentViewController:navigationController animated:YES completion:^{ 
    }]; 
} 

यह बहुत अच्छा काम करता है लेकिन आकार वर्गों में समस्या है। मैंने वर्डबोर्ड पर कुछ बदलाव किए हैं जो रेग्युलर/एच रेग्युलर साइज क्लास पर हैं लेकिन यूआईपीओपीओवर कंट्रोलर में आईपैड पर अभी भी आईफोन लेआउट दिखा रहा है। आईपैड स्क्रीन के बाद पॉपओवर के आकार की वजह यह कम है। क्या मैं आईपैड पर पॉपओवर में दिखाने के लिए साइज क्लास के साथ इंटरफेस बिल्डर में अपने बदलाव कर सकता हूं लेकिन आईफोन पर अनदेखा कर सकता हूं?

उत्तर

0

पॉपओवर व्यू कंट्रोलर पर setOverrideTraitCollection का उपयोग करके आपको एक आईपैड के लिए नियमित एक्स नियमित रूप से उपयोग करने की अनुमति देनी चाहिए।