Tag: nsattributedstring

顶部alignmentUILabel中不同大小的文本

如何在UILabel中alignment不同大小的文本? 一个例子是在价格横幅上调整较小尺寸的美元数量和较大尺寸的美元数量。 iOS6中的UILabel支持NSAttributedString ,它允许我在同一个UILabel中有不同大小的文本。 但是,它似乎没有用于顶部alignment文本的属性。 有什么select来实现这个? 在我看来,提供一个自定义的绘图逻辑来完成基于自定义属性string键的顶部alignment可能是最好的,但我不知道如何去做。

在NSAttributedString中垂直放置两种不同大小的字体

我使用NSAttributedString生成两个不同大小的string。 默认情况下,其底部alignment如下所示: 但是我想垂直居中,像这样: 要清楚,这是一个单一的属性string,不是两个或更多。 这是一个简单的例子来描述我的问题,我实际上想要做的更复杂。

向故事板中的UILabel归因string添加下划线失败

从故事板中select相关的UILabel 然后在属性检查器>标签> [我select]归属 同样在属性检查器>标签>文本> [我select的内容] 然后我点击字体图标并select下划线 基本上,我从popup的字体窗口中select的任何更改都不会生效。 有没有人成功添加故事板下划线? 注:我已经知道如何在代码中做到这一点。 我想避免添加代码。

显示很多RichText:select最佳选项

显示大量 RichText(HTML格式)的最佳方式是什么 目前我正在为一个论坛的应用程序工作。 正如你所期望的网站上的post有很多的HTML格式,列表,图像粗体文本 ,彩色文字等… 现在有几个选项我可以想到(非理想的,如果你想在其他任何选项发表评论)请: 自定义单元格使用NSAttributedString + HTML + DTAttributedTextView每个职位? 问题:我在其他地方使用了应用程序中的NSAttributedString + HTML类别,并且它不那么理想,创build一个NSAttributedString似乎相当昂贵(很慢),即使是less量的。 虽然DTAttributedTextView支持IMG html标签(大多数标签),但它不支持远程加载图像,除非您在img中指定它们的宽度和高度,否则对于10个以上的post可能是整篇文章的长度将是可怕的+标签。 而对于IMG标签可能是一个笑脸(10 * 10)或截图(640 * 960)的论坛,没有办法预测这一点。 (因为编写这个NSAttributedString + HTML,现在被重命名为DTCoreText ,已经添加了对<img>标签的全面支持,并且大大改进了!) 自定义单元格的UIWebView在他们的每个职位? 这一个我考虑了一段时间,但是当阅读这个博客文章,我意识到一个问题,将导致, 平滑滚动 。 拥有本地应用程序的想法是,它是更好的,然后使用一个简单的UIWebView来查看网站的移动主题。 如果应用程序滞后,而滚动,而滚动, 更糟糕的是不好 (也因为我需要显示图像隐藏webview的,他build议不会工作)。 此外,UIWebView的需要在主线程上创build或他们中断。 回到UIWebView? 除了做一个可悲的作弊,(如在iFans应用程序 ),你只显示文本,然后如果他们点击它的UIWebView加载所有漂亮的图像等…剩下的唯一select似乎是做我的想法TapaTalk应用程序确实具有整个线程视图作为UIWebView。 这不是太糟糕,因为它可能会有相当不错的performance,并将允许我可能添加用户控制的主题等..但我觉得在网站本地应用程序使用UIWebView的想法。 有没有人有任何经验,创造networking供电的应用程序,如可能是一个脸书客户端,论坛应用程序,或新的网站应用程序,必须显示网站的内容(我不算一个叽叽喳喳客户端,因为它只需要处理文本&每个职位less量链接)。 或者在iOS应用程序中显示RichText内容的最佳方式的任何想法? 任何想法都必须处理这个问题: 多彩色的文字。 右,左和中间alignment的文本。 图像(可变大小)。 加粗字体。 不同大小和字体的文本。 强调文本。 YouTubevideo。 HTML表格。 以防万一实际问题不是很清楚,我总结一下: “ 为论坛客户端应用程序显示大量RichText(HTML格式)内容的最佳方式是什么 ”

Swift:点击UILabel的一部分文本

我有一个问题,“boundingRectForGlyphRange”总是返回CGRect.zero“0.0,0.0,0.0,0.0”。 “boundingRectForGlyphRange”不起作用。 例如,我正在编写触摸UILabelfunction的一部分文本。 我的文本有第一部分是“任何文本”,第二部分是“读更多”。 当我点击“阅读更多”时,我只需要点击识别器就可以工作。 如果我触及UILabel的任何一点,“CGRectContainsPoint”总是返回true,然后调用action 在这里我的代码: override func viewDidLoad() { super.viewDidLoad() // The full string let firstPart:NSMutableAttributedString = NSMutableAttributedString(string: "Lorem ipsum dolor set amit ", attributes: [NSFontAttributeName: UIFont.systemFontOfSize(13)]) firstPart.addAttribute(NSForegroundColorAttributeName, value: UIColor.blackColor(), range: NSRange(location: 0, length: firstPart.length)) info.appendAttributedString(firstPart) // The "Read More" string that should be touchable let secondPart:NSMutableAttributedString = NSMutableAttributedString(string: "READ MORE", attributes: [NSFontAttributeName: […]

如何在iOS中设置NSAttributedString的属性?

我试图在iOS中设置NSAttributedString臭名昭着的NSFontAttributeName属性,但它似乎并不工作: 首先,NS常量似乎没有为iOS定义 我读的地方,我可以改为通过传递CoreText常量来解决它。 罚款…但仍然,属性期望一个NSFont,我坚持与UIFont或CTFontRef,这两者似乎工作: 这不起作用: CTFontRef ctFont = CTFontCreateWithName((CFStringRef)[UIFont boldSystemFontOfSize:16].fontName, [UIFont boldSystemFontOfSize:16].pointSize, NULL); [myAttString addAttribute:(NSString*)kCTFontNameAttribute value:(id)ctFont range:NSMakeRange(0, myAttString.length-1)]; 这不起作用: [myAttString addAttribute:(NSString*)kCTFontNameAttribute value:[UIFont boldSystemFontOfSize:16] range:NSMakeRange(0, myAttString.length-1)]; 有没有做这个工作?

如何停止枚举NSAttributedString的属性?

在enumerateAttribute方法的文档中,关于块的stop参数,说: 该块可以将该值设置为true以停止对该集合的进一步处理。 但是,在块内stop参数是一个let我不能把它设置为true 。 在发现第一个属性发生之后,我需要停止枚举。 我怎么能这样做?

NSMutableAttributedString不能在特定范围的tableviewcell中工作

我已经跟着这个问题,但没有解决我的问题。 我在ViewController中有一个tableview , tableviewcell有一个标签。 我想用NSStrikethroughStyleAttributeName来设置。 如果我设置完整的string作为删除线它的作品, 但如果我设置为部分它不起作用。 下面的代码为成功的结果 let strOriginalPrice = "my price" let strdiscountedPrice = "discounted price" let strPrice = strOriginalPrice+" "+strdiscountedPrice let attributeString: NSMutableAttributedString = NSMutableAttributedString(string: strPrice) attributeString.addAttribute(NSStrikethroughStyleAttributeName, value: 2, range: NSMakeRange(0, attributeString.length)) cell.lblPrice.attributedText = attributeString 下面的代码不工作 let attributedDiscunt: NSMutableAttributedString = NSMutableAttributedString(string: strPrice) attributedDiscunt.addAttribute(NSStrikethroughStyleAttributeName, value:2, range: NSMakeRange(0, strOriginalPrice.characters.count-1)) cell.lblPrice.attributedText = attributedDiscunt

NSAttributedString书写方向

我正在尝试更改NSAttributedString中的写入方向。 但是,我真的很难搞清楚如何去做。 CTFontRef fontRef = CTFontCreateWithName((CFStringRef)@"ArialRoundedMTBold", 16, NULL); NSDictionary *attrDictionary = [NSDictionary dictionaryWithObjectsAndKeys:(__bridge id)fontRef,(NSString *)kCTFontAttributeName, nil]; CFRelease(fontRef); NSAttributedString *attString=[[NSAttributedString alloc] initWithString:self.stringMap attributes:attrDictionary]; self.attString = attString; 这是我初始化我的NSAttributedString的代码,我已经读了关于常量kCTWritingDirectionRightToLeft ,我觉得我必须把它放在什么地方,但我可以找出在哪里和如何。 任何人有任何build议?

将常规操作添加到NSAttributedString?

我只是想添加一个objetive-c动作来调用我的UILabel使用NSAttributedString在一定范围内的一个水龙头。 但我不知道该怎么做。 我不想打开一个URL,我只想调用一个方法。 谢谢