iPad横向模式下的TTLauncherView右侧有一个空白区域

时间:2011-03-02 01:50:48

标签: iphone objective-c ipad uiviewcontroller three20

我还没有花足够的时间来查看TTLauncherView背后的代码,但在横向模式下它似乎在右侧有一个空白区域。我想重写发射器,但是任何人都有更优雅的解决方案吗?我想删除空白区域,而是将项目重新组织到该空白区域。

2 个答案:

答案 0 :(得分:1)

我认为你可以做到这一点比这更容易......我对这个工具包很陌生,但这似乎适用于我的应用程序:

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

}

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

编辑: 抱歉编辑,我只是​​不断寻找更好的方法来做到这一点。我们可以覆盖动画方法,该方法自动动画我们的TTLauncherItems的旋转。我已经改变了视图的alpha值来隐藏图标旋转的突然性:

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

}

答案 1 :(得分:0)

这可以更容易地完成。我喜欢没有willRotate方法的解决方案:

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

它为我做好了工作!