2014-09-01 25 views
1

我有一个应用程序,它使用WebView来显示文本和图像。在iOS 8上,我将margin和padding设置为0px以正确布局HTML页面。但是要在iOS 7上正确查看,边距和填充必须设置为4px。在iOS 7或8的Web视图中使用不同样式表

我该如何拥有这两种iOS版本的两种不同格式。

我希望它自动将iOS 8和4px上的填充和边距设置为0px。这是我当前的样式表(位于NSString中)。

NSString *[email protected]"<html><head><style>body { margin: 0; padding: 0; }h1{font-weight:normal;font-family: HelveticaNeue-Thin; padding: 7px; margin-bottom: 3px;}p{font-family: HelveticaNeue-Light; padding-top:0px; padding-left: 7px;paddin-right: 7px; margin-top:10px;}imgcenter {display: block; margin: 0 auto;}b{font-weight:normal;font-family: HelveticaNeue-Medium;}</style></head><body>"; 
    NSString *[email protected]"</body></html>"; 

    [super viewDidLoad]; 
    NSString *fullURL = [NSString stringWithFormat:@"%@%@%@",stylesheet, self.SelectedProduct.content, footer]; 
    NSString *path = [[NSBundle mainBundle] bundlePath]; 
    NSURL *baseURL = [NSURL fileURLWithPath:path]; 
    [_webview loadHTMLString:fullURL baseURL:baseURL]; 
+0

是否可以使用CSS媒体查询,以获得正确的效果?见http://stephen.io/mediaqueries/ – JDB 2014-09-01 19:32:24

+0

感谢您的帮助。虽然我已经使用不同的方法解决了问题,但您的链接有助于解决不同的问题。 – 2014-09-01 19:50:14

回答

1

我设法使用if语句对其进行整理并检查系统版本。

继承人的工作代码

#define SYSTEM_VERSION_EQUAL_TO(v)     ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame) 
#define SYSTEM_VERSION_GREATER_THAN(v)    ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending) 
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending) 
#define SYSTEM_VERSION_LESS_THAN(v)     ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending) 
#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending) 

- (void)viewDidLoad{ 

    if (SYSTEM_VERSION_LESS_THAN(@"8.0")) { 
      NSString *[email protected]"<html><head><style>body { margin: 4px; padding: 4px; margin-top:0px}h1{font-weight:normal;font-family: HelveticaNeue-Thin; padding: 7px; margin-bottom: 3px; padding-top:0px;}p{font-family: HelveticaNeue-Light; padding-top:0px; padding-left: 7px;paddin-right: 7px; margin-top:10px;}imgcenter {display: block; margin: 0 auto;}b{font-weight:normal;font-family: HelveticaNeue-Medium;}</style></head><body>"; 
     NSString *[email protected]"</body></html>"; 

     [super viewDidLoad]; 
     NSString *fullURL = [NSString stringWithFormat:@"%@%@%@",stylesheet, self.SelectedProduct.content, footer]; 
     NSString *path = [[NSBundle mainBundle] bundlePath]; 
     NSURL *baseURL = [NSURL fileURLWithPath:path]; 
     [_webview loadHTMLString:fullURL baseURL:baseURL]; 
    } 

    if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0")) { 
      NSString *[email protected]"<html><head><style>body { margin: 0px; padding: 0px; margin-top:0px}h1{font-weight:normal;font-family: HelveticaNeue-Thin; padding: 7px; margin-bottom: 3px; }p{font-family: HelveticaNeue-Light; padding-top:0px; padding-left: 7px;paddin-right: 7px; margin-top:10px;}imgcenter {display: block; margin: 0 auto;}b{font-weight:normal;font-family: HelveticaNeue-Medium;}</style></head><body>"; 
     NSString *[email protected]"</body></html>"; 

     [super viewDidLoad]; 
     NSString *fullURL = [NSString stringWithFormat:@"%@%@%@",stylesheet, self.SelectedProduct.content, footer]; 
     NSString *path = [[NSBundle mainBundle] bundlePath]; 
     NSURL *baseURL = [NSURL fileURLWithPath:path]; 
     [_webview loadHTMLString:fullURL baseURL:baseURL]; 
    } 
相关问题