2012-01-12 7 views
7

Tengo un problema de UI con Kal Calendar para iPad. En el iPad hay un espacio vacío, pero en el iPhone está bien. ¿Cómo puedo hacer que encaje en el marco del iPad?UI ¿Problema con kal calendar para ipad?

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)]; 

} 

¡Intenté utilizar el código enumerado arriba pero no funcionó para mí!

enter image description here

+0

trate de poner un punto de quiebre y depurar el código para comprobar si esa línea de código se alcanza o no. – Rajeel

+0

@Rajeel UI_USER_INTERFACE_IDIOM funciona correctamente! .... – user905582

+0

UI_USER_INTERFACE_IDIOM funciona correctamente ..! pero el marco es lo mismo ¿alguien sabe por qué está sucediendo? ¡algún consejo! ¡Por favor! – user905582

Respuesta

13

en KalGridView.m encontrará esto.

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

Cambiaría el código a una propiedad donde puede establecer el marco dinámicamente a la expresión y/o la orientación.

en KalGridView.m

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

y en 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]; 
    } 
} 

resultados en:

screenshot

+0

muchas gracias –

+0

@Vikingosegundo ¡Gracias! – user905582

+0

FYI: Si decide hacer el 'const kTileSize' mutable, hay' extern''s a lo largo de Kal que hacen referencia a kTileSize. Una forma de resolver esto es crear un singleton con la propiedad tileSize que permitirá el acceso en todo Kal pero también le permitirá cambiar el tamaño en 'willRotateToInterfaceOrientation' de ViewController. – rwyland