在标签栏视图控制器中自定义视图的自动调整大小掩码不起作用

时间:2012-10-25 06:23:27

标签: ios6 autoresize

我在标签栏视图控制器中有自定义视图。我为自定义视图设置了自动调整大小,但它没有在iphone 5屏幕上对齐。它在iphone 4屏幕上看起来很好。我在视图中有这个代码做了标签栏视图控制器的加载方法。

self.customBadge = [CustomBadge customBadgeWithString:[AppGlobals sharedInstance].badgeNumber];


     self.customBadge.frame = CGRectMake(165, 420,  self.customBadge.frame.size.width,  self.customBadge.frame.size.width);
    self.customBadge.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;
    [self.view addSubview: self.customBadge];

1 个答案:

答案 0 :(得分:0)

根据TabBar(大多数屏幕)的整个视图,您似乎正在添加带有坐标的徽章

尝试:

  1. 将徽章添加为标签栏视图本身的子视图(您可能希望将框架的Y从420降低到约5-10):

    [self.tabBar addSubview:self.customBadge];

  2. 如果(1)不适合您,您可以尝试使用硬编码的y值(这是不好的做法,但如果您遇到困难 - 它应该有效):< / p>

    #define VALUE_BY_SCREEN_HEIGHT(regular, longScreen) (([[UIScreen mainScreen] bounds].size.height <= 480.0) ? regular : longScreen)

    ...

    self.customBadge.frame = CGRectMake(165, VALUE_BY_SCREEN_HEIGHT(420,508), self.customBadge.frame.size.width, self.customBadge.frame.size.width);