TTLauncherView в альбомном режиме iPad имеет пустую белую область справа - PullRequest
0 голосов
/ 02 марта 2011

Я еще не потратил достаточно времени, чтобы взглянуть на код, лежащий в основе TTLauncherView, но в ландшафтном режиме он, кажется, имеет пустую белую область справа. Я думаю переписать лаунчер, но у кого-нибудь есть более элегантное решение? Я хочу удалить пустую белую область и вместо этого реорганизовать элементы в эту пустую область.

Ответы [ 2 ]

1 голос
/ 29 марта 2011

Я думаю, вы можете сделать это намного проще, чем это ... Я довольно новичок в этом наборе инструментов, но, похоже, это работает в моем приложении:

-(void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
[self.view setBackgroundColor:[UIColor clearColor]];

}

-(void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
    [_launcherView setFrame:self.view.bounds];
}

EDIT: Извините за правки, я просто продолжаю искать лучшие способы сделать это. Мы можем переопределить метод анимации, который автоматически анимирует вращение наших TTLauncherItems. Я изменил альфа вида, чтобы скрыть резкость вращения иконок:

-(void) willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
    [_launcherView setFrame:self.view.bounds];
    //[self.view setAlpha:0.4];
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:.1];
    [self.view setAlpha:1];
    [UIView commitAnimations];
}
-(void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
    [self.view setBackgroundColor:[UIColor clearColor]];
    [self.view setAlpha:1];
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:.1];
    [self.view setAlpha:0.7];
    [UIView commitAnimations];

}
0 голосов
/ 14 ноября 2011

Это можно сделать еще проще.Мне нравится это решение без метода willRotate:

-(void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
  [UIView beginAnimations:nil context:NULL];
  [_launcherView setFrame:self.view.bounds];
  [UIView commitAnimations];
}

Это делает работу за меня!

...