我在我的应用程序中使用内置的邮件编辑器。根据我用来编译应用程序的 iOS SDK,我会得到不同的结果:
良好:iOS SDK 4.3 good http://k.minus.com/jbmHVxSGOpPnhE.png
错误:iOS SDK 5.0 bad http://k.minus.com/jwkNg6irPuMKU.png
那么使用 iOS 5.0 SDK 实现相同外观的最佳方法是什么?
非常感谢您的帮助
最佳答案
我可以按如下方式解决我的问题。但是,我不确定这是否是最干净的解决方案,所以如果有更标准或更干净的方法,请告诉我:
由于我需要支持 iOS > 4.0,所以我需要以下两种方法。
对于 iOS < 5.0(使用类别)
@implementation UINavigationBar (UINavigationBarCategory)
- (void)drawRect:(CGRect)rect {
if ([[[UIDevice currentDevice] systemVersion] doubleValue] < 5.0) {
UIColor *color = kColorSCSNavigationBarBackgroundBlue;
UIImage *img = [UIImage imageNamed: @"TitleBar.png"];
[img drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
self.tintColor = color;
}
}
@end
对于 iOS >= 5.0(AppDelegate 中的applicationDidFinishLaunching
方法)
if ([[[UIDevice currentDevice] systemVersion] doubleValue] >= 5.0) {
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"TitleBar.png"] forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setTintColor:kColorSCSNavigationBarBackgroundBlue];
}
关于ios - 样式从 iOS SDK 4.3 到 5.0 各不相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8293810/