2012-01-12 8 views
7

मेरे पास आईपैड के लिए कल कैलेंडर के साथ यूआई समस्या है। आईपैड पर एक खाली जगह है लेकिन आईफोन पर यह ठीक है। मैं इसे आईपैड पर फ्रेम में फिट करने के लिए कैसे प्राप्त कर सकता हूं?यूआईएड के लिए कल कैलेंडर के साथ यूआई समस्या?

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) 
{ 
    [kal.view setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; 
} 
else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
{ 
    [kal.view setFrame:CGRectMake(0, 0,768 ,1004)]; 

} 

मैंने ऊपर सूचीबद्ध कोड का उपयोग करने की कोशिश की लेकिन यह मेरे लिए काम नहीं किया!

enter image description here

+0

एक को तोड़ने बिंदु और डिबग करता है, तो जाँच करने के लिए अपने कोड डालने की कोशिश कोड की उस पंक्ति तक पहुंच गई है या नहीं। – Rajeel

+0

@Rajeel UI_USER_INTERFACE_IDIOM ठीक से काम कर रहा है! .... – user905582

+0

UI_USER_INTERFACE_IDIOM ठीक से काम कर रहा है ..! लेकिन फ्रेम समान है क्या कोई जानता है कि यह क्यों हो रहा है! कोई सलाह! कृप्या! – user905582

उत्तर

13

KalGridView.m में आप इस मिल जाएगा।

const CGSize kTileSize = { 46.f, 44.f }; 

मैं कोड को उस संपत्ति में बदल दूंगा जहां आप फ्रेम को गतिशील रूप से मुहावरे और/या अभिविन्यास में सेट कर सकते हैं।

KalGridView.m

में

const CGSize kTileSize = { 109.0f, 109.0f }; 

और KalView.m में

- (void)addSubviewsToHeaderView:(UIView *)headerView 

    … 

    for (CGFloat xOffset = 0.f; xOffset < headerView.width; xOffset += 109.f, i = (i+1)%7) { 
    CGRect weekdayFrame = CGRectMake(xOffset, 30.f, 109.f, kHeaderHeight - 29.f); 
    UILabel *weekdayLabel = [[UILabel alloc] initWithFrame:weekdayFrame]; 
    weekdayLabel.backgroundColor = [UIColor clearColor]; 
    weekdayLabel.font = [UIFont boldSystemFontOfSize:10.f]; 
    weekdayLabel.textAlignment = UITextAlignmentCenter; 
    weekdayLabel.textColor = [UIColor colorWithRed:0.3f green:0.3f blue:0.3f alpha:1.f]; 
    weekdayLabel.shadowColor = [UIColor whiteColor]; 
    weekdayLabel.shadowOffset = CGSizeMake(0.f, 1.f); 
    weekdayLabel.text = [weekdayNames objectAtIndex:i]; 
    [headerView addSubview:weekdayLabel]; 
    [weekdayLabel release]; 
    } 
} 

परिणामों में:

screenshot

+0

आपको बहुत बहुत धन्यवाद –

+0

@विकिंगोजगुंडो धन्यवाद! – user905582

+0

एफवाईआई: यदि आप 'कॉन्स्ट केटीइल साइज' म्यूटेबल बनाने का निर्णय लेते हैं, तो पूरे कल में 'बाहरी' है जो kTileSize का संदर्भ देता है। इसका समाधान करने का एक तरीका टाइलसाइज संपत्ति के साथ एक सिंगलटन बनाना है जो पूरे काल में पहुंच की अनुमति देगा, लेकिन आपको व्यू कंट्रोलर के 'willRotateToInterfaceOrientation' में आकार बदलने की अनुमति भी देगा। – rwyland

संबंधित मुद्दे