0

我在标签栏视图控制器中有一个自定义视图。我已经为自定义视图设置了自动调整大小掩码,但它没有在 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];
4

1 回答 1

0

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

尝试:

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

    [self.tabBar addSubview:self.customBadge];

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

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

于 2012-11-05T08:25:57.783 回答