2012-10-10 30 views
5

में आईफोन 4 और आईफोन 5 के लिए फ्रेम कैसे सेट करें मैं अपने आवेदन को आईओएस 6 में अपडेट करना चाहता हूं। तो फ्रेम आकार को आईफोन 4 और आईफोन 5 दोनों को कैसे सेट करें?आईओएस 6

+0

मेरे पास एक ही प्रश्न है –

+0

आप अपना ऐप बनाते समय ऑटो लेआउट का उपयोग कर सकते हैं। ट्यूटोरियल के लिए लिंक करें: http: //www.raywenderlich.com/20881/beginning-auto-layout-part-1-of-2 –

+0

कृपया [इस सवाल] पर एक नज़र डालें (http://stackoverflow.com/questions/12527517/what-is-the-best-way-for-supporting-both-screen-resolution-of-iphone4-and-iphone)। यह मदद मिलेगी। –

उत्तर

4

मैं का उपयोग कर सकते हैं तो स्क्रीन का आकार की गणना निम्नलिखित विधि

का उपयोग कर की तरह देखने की ऊंचाई को समायोजित करने के लिए के माध्यम से जा सकते हैं के लिए
+(CGFloat)heightOf:(CGFloat)heightValue{ 
CGRect applicationFrame = [[UIScreen mainScreen] applicationFrame]; 

//NSLog(@"applciation Frame height = %f",applicationFrame.size.height); 
CGFloat heightRatio = (heightValue/480)*100; 

CGFloat height = (applicationFrame.size.height * heightRatio)/100; 
return height; 

}

तो मैं

UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0,[Height heightOf:385], 320, 220)]; 

और इसी तरह का उपयोग कर रहा हूं। आपके उत्तरों के लिए धन्यवाद

+0

हाय, क्या आप कृपया मुझे बता सकते हैं कि ऊंचाई क्या है "[ऊंचाई ऊंचाई: 385]"। –

0

यू डिवाइस प्रकार link जांच कर सकते हैं या आप देख सकते हैं कि दृश्य फ्रेम iPhone में सामान्य से बड़ा 4/4s फिर अपने फ्रेम

टिप्पणी का आकार बदलने: मैं कर रहा हूँ दूसरी तरह से उपयोग करें और यह काम है iPhone 5 और अन्य डिवाइस के लिए

1

के बाद कोड की जांच

#define IS_IPHONE ([[[UIDevice currentDevice] model] isEqualToString:@"iPhone"]) 
#define IS_IPOD ([[[UIDevice currentDevice ] model] isEqualToString:@"iPod touch"]) 
#define IS_HEIGHT_GTE_568 [[UIScreen mainScreen ] bounds].size.height >= 568.0f 
#define IS_IPHONE_5 (IS_IPHONE && IS_HEIGHT_GTE_568) 

And check for more detail refer the question.

3

एक से अधिक नहीं है स्थिति को संभालने का तरीका।

1> उनमें से एक स्वचालित रूप से स्वत: आकार बदलने का उपयोग करना है।

2> एक और तरीका है नए ऑटो लेआउट कार्यक्षमता का उपयोग करने के लिए है, लेकिन फिर यह केवल iOS 6.

3 के लिए समर्थन किया जाएगा> आप iPhone 4 और iphone 5 के लिए प्रत्येक दृश्य के लिए अलग-अलग निब के बना सकते हैं और यह निर्भर करता है कि यह कौन सा डिवाइस चल रहा है, आप उपयोग की गई .xib फ़ाइलों को स्विच कर सकते हैं।

अभी सही तरीके से ऑटो आकार बदलने का उपयोग करने के लिए सबसे अच्छा तरीका है।

अधिक आप इन

1>Supporting iOS 4.3 to iOS 6.0

2>What is the best way for supporting both screen resolution of iPhone4 and iPhone5 ? - Auto layout in only iOS6

0

ऑटोलाउट मेरे लिए इतना अच्छा काम नहीं कर सका। मेरे ऐप में कई तत्व हैं जिन्हें समान रूप से बाहर करने की आवश्यकता है।

एक त्वरित समाधान समाधान (अच्छा अभ्यास नहीं) स्क्रीन ऊंचाई जांच पर अलग-अलग निर्देशांक असाइन करना है। (बीटीडब्ल्यू जो एक अच्छा ट्यूटोरियल है। शम ऐप्पल अभी भी आईओएस के लिए पर्याप्त कुछ भी नहीं आया है)।

तो आप अपनी स्क्रीन पर कई तत्व है, तो मेरा मानना ​​है कि आप करने के लिए फिर से जगह उन्हें व्यक्तिगत रूप

CGFloat height = [UIscreen mainScreen].bounds.size.height; 
if(height==568.00){ 
self.imageName.frame = CGRectMake(x,y,width,height); 
... 
} 

एक मॉडल या अस्थायी स्क्रीन जो खिड़की के केंद्र में प्रकट के लिए, आप की कोशिश कर सकते है यह:

self.imgBadgeArea.frame = CGRectMake(self.view.bounds.size.width/2- self.imgBadgeArea.bounds.size.width/2, self.view.bounds.size.height/2 - self.imgBadgeArea.bounds.size.height/2, self.imgBadgeArea.bounds.size.width, self.imgBadgeArea.bounds.size.height); 

3.5 और 4 इंच दोनों के लिए काम करता है।