ios - 样式从 iOS SDK 4.3 到 5.0 各不相同

标签 ios xcode ios5 styling

我在我的应用程序中使用内置的邮件编辑器。根据我用来编译应用程序的 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/

相关文章:

ios - 如何找到 Xcode 10.1 的 ImageView

html - 表单文本字段较多,需要解决方案

ios - 从不同的 View Controller 打开相同的 View

ios - 使用选定的 UIPicker 行作为自定义 UITableViewCell UILabel SWIFT 的文本

ios - 为 iphone se 创建自动布局?

ios - 使用 shouldChangeCharactersInRange 限制输入的字符,但无法检测返回

ios - 有没有人找到使用新的 iOS5 键盘事件的好方法?

ios - 下一个轨道AVPlayer如何

xcode - 为什么我在尝试在 swift 中的 segue 上传递变量时会收到这些错误?

iphone - 从 UILabel 中删除最后一个值?