我在标签栏视图控制器中有自定义视图。我为自定义视图设置了自动调整大小,但它没有在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];
答案 0 :(得分:0)
根据TabBar(大多数屏幕)的整个视图,您似乎正在添加带有坐标的徽章
尝试:
将徽章添加为标签栏视图本身的子视图(您可能希望将框架的Y从420降低到约5-10):
[self.tabBar addSubview:self.customBadge];
如果(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);