Objective c ipad kal日历的用户界面问题?

Objective c ipad kal日历的用户界面问题?,objective-c,ios,cocoa-touch,ipad,Objective C,Ios,Cocoa Touch,Ipad,我对iPad的Kal日历有UI问题。在iPad上有一个空的空间,但在iPhone上没有问题。我怎样才能让它适合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_INTERFA

我对iPad的Kal日历有UI问题。在iPad上有一个空的空间,但在iPhone上没有问题。我怎样才能让它适合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)];

}
我试图使用上面列出的代码,但它不适合我


在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];
  }
}
-(void)addSubviewsToHeaderView:(UIView*)headerView
…
对于(CGFloat xOffset=0.f;xOffset
结果:


尝试设置断点并调试代码,以检查是否达到该行代码。@Rajeel UI\u用户界面\u习惯用法工作正常!。。。。UI\u用户界面\u习惯用法工作正常。。!但框架是一样的,没有人知道它为什么会发生!任何建议!请很有可能作者没有考虑到iPad,按钮有一个固定的尺寸啊:branch Kal,并修复它!仅供参考:如果您决定使
constktilesize
可变,则整个Kal中都有
extern
引用kTileSize。解决这一问题的一种方法是使用tileSize属性创建一个singleton,该属性允许访问整个Kal,但也允许您更改ViewController的
willRotateToInterfaceOrientation
@Vikingosegundo我们可以在Kal calendar中处理方向吗?@Prabh请注意,我不是Kal的作者。没有技术上的原因,为什么它不可能。但您可能必须修改代码。他们说,“您通常会向UIWindow添加一个主视图控制器,如UINavigationController、UIAbbarController或通用UIViewController。例如,这可以通过调用:[myWindow addSubview:primaryViewController.view]来完成。”;如果通过以下方式将其他视图控制器的UIView属性添加到UIWindow(与主视图控制器处于相同级别):[myWindow addSubview:anotherController.view];此附加视图控制器将不会接收旋转事件,并且永远不会旋转。只有添加到UIWindow的第一个视图控制器才会旋转。这解决了iPad的问题,但对universal app没有帮助。有什么方法可以让我将这些努力也用于universal app吗?