swift语言,怎样获取NSString内容宽度高度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift语言,怎样获取NSString内容宽度高度相关的知识,希望对你有一定的参考价值。

其实动态获取字符串NSString的内容宽度高度最主要的还是API NSString类提供的一个方法:
sizeWithFont: constrainedToSize

例如:
CGSize feelSize = [feeling sizeWithFont:[UIFont systemFontOfSize:12] constrainedToSize:CGSizeMake(190,200)];
float feelHeight = feelSize.height;
这样就可以根据自己定义的长高的最大限值来获取当前文本的size。
参考技术A //初始化label
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)];
//设置自动行数与字符换行
[label setNumberOfLines:0];
label.lineBreakMode = UILineBreakModeWordWrap;
// 测试字串
NSString *s = @"这是一个测试!!!
UIFont *font = [UIFont fontWithName:@"Arial" size:12];
//设置一个行高上限
CGSize size = CGSizeMake(320,2000);
//计算实际frame大小,并将label的frame变成实际大小
CGSize labelsize = [s sizeWithFont:font constrainedToSize:size lineBreakMode:UILineBreakModeWordWrap];
[label setFrame:CGRectMake:(0,0, labelsize.width, labelsize.height)];
。。本回答被提问者和网友采纳

如何使用 Swift 缩放 HTML 内容以使其适合手机宽度?

【中文标题】如何使用 Swift 缩放 HTML 内容以使其适合手机宽度?【英文标题】:How to scale HTML content so that it fits phone width using Swift? 【发布时间】:2018-06-12 10:30:21 【问题描述】:

问题的要点是什么?

后端正在向我发送一些 HTML,我正在使用 UIWebView 在应用程序中显示它。问题是大多数时候图像的宽度大于手机宽度,您需要水平滚动 UIWebView。我曾尝试使用 UIScrollView 的 scales pages to fit 属性,但发生的情况是内容变得太小。

我需要什么帮助?

我想知道是否有任何方法可以考虑屏幕宽度并适当缩放表格、图像、视频等某些元素?

到目前为止我做了什么?

我曾尝试通过缩放图像、视频等在代码中自己修改 HTML,但有无数这样的情况我不确定是否可以使用这种方法来处理。

【问题讨论】:

发送响应式 HTML 【参考方案1】:

添加此代码:

func webViewDidFinishLoad(_ webView: UIWebView)

        webView.frame.size = webView.sizeThatFits(.zero)
        webView.scrollView.isScrollEnabled=false;
        ScreenWidth = webView.scrollView.contentSize.width 
        webView.sizeToFit()
        self.tblView.reloadData()

    

【讨论】:

以上是关于swift语言,怎样获取NSString内容宽度高度的主要内容,如果未能解决你的问题,请参考以下文章

Swift3.0语言教程获取字符串编码与哈希地址

Android开发中怎样获取WebView的内容宽度高度

怎样让iframe中的内容的宽度和高度改变后,dialog的宽高自适应?

Swift3.0语言教程获取C字符串

js 怎样获取字型的宽度和高度 比如9pt这样大小的文字

ios 怎样获取当前web的url