ios中label设置内边距怎么设置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios中label设置内边距怎么设置相关的知识,希望对你有一定的参考价值。

参考技术A iOS 设置UILabel 的内边距
- (void)drawTextInRect:(CGRect)rect
UIEdgeInsets insets = 0, 5, 0, 5;
[super drawTextInRect:UIEdgeInsetsInsetRect(rect, insets)];
本回答被提问者采纳

在 iOS 7 或 8 的 Web 视图中使用不同的样式表

【中文标题】在 iOS 7 或 8 的 Web 视图中使用不同的样式表【英文标题】:Use different style sheets in web view on iOS 7 or 8 【发布时间】:2014-09-01 18:37:02 【问题描述】:

我有一个使用 WebView 来显示文本和图像的应用程序。在 iOS 8 上,我已将边距和内边距设置为 0px 以正确布局 HTML 页面。但是要在 iOS 7 上正确查看,必须将边距和内边距设置为 4px。

我怎样才能拥有它,以便它具有两个 iOS 版本的两种不同格式。

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

   NSString *stylesheet=@"<html><head><style>body  margin: 0; padding: 0; h1font-weight:normal;font-family: HelveticaNeue-Thin; padding: 7px; margin-bottom: 3px;pfont-family: HelveticaNeue-Light; padding-top:0px; padding-left: 7px;paddin-right: 7px; margin-top:10px;imgcenter display: block; margin: 0 auto;bfont-weight:normal;font-family: HelveticaNeue-Medium;</style></head><body>";
    NSString *footer=@"</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];

【问题讨论】:

是否可以使用 CSS 媒体查询来获得正确的效果?见stephen.io/mediaqueries 感谢您的帮助。虽然我使用不同的方法解决了问题,但您的链接有助于解决不同的问题。 【参考方案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 *stylesheet=@"<html><head><style>body  margin: 4px; padding: 4px; margin-top:0pxh1font-weight:normal;font-family: HelveticaNeue-Thin; padding: 7px; margin-bottom: 3px; padding-top:0px;pfont-family: HelveticaNeue-Light; padding-top:0px; padding-left: 7px;paddin-right: 7px; margin-top:10px;imgcenter display: block; margin: 0 auto;bfont-weight:normal;font-family: HelveticaNeue-Medium;</style></head><body>";
        NSString *footer=@"</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 *stylesheet=@"<html><head><style>body  margin: 0px; padding: 0px; margin-top:0pxh1font-weight:normal;font-family: HelveticaNeue-Thin; padding: 7px; margin-bottom: 3px; pfont-family: HelveticaNeue-Light; padding-top:0px; padding-left: 7px;paddin-right: 7px; margin-top:10px;imgcenter display: block; margin: 0 auto;bfont-weight:normal;font-family: HelveticaNeue-Medium;</style></head><body>";
        NSString *footer=@"</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];
    

【讨论】:

以上是关于ios中label设置内边距怎么设置的主要内容,如果未能解决你的问题,请参考以下文章

UILabel设置内边距

UILabel给文字增加内边距

内边距、边框和外边距(三)

css内外边距用%表示时该怎么计算

关于css盒子边框、内边距、外边距

CSS样式里外边距怎么写的