ios – UITextView在检测到 *** 作时更改字体

ios – UITextView在检测到 *** 作时更改字体,第1张

概述我一直在寻找这个问题的解决方案,似乎没有人遇到类似的问题. 基本上我有多个UITextView用于检测来自某些EKEvent.notes的地址,网址,电话号码等(可通过UIDataDectorTypeAll检测到的任何内容).然后我将这些UITextViews添加为UIScrollView的子视图. 现在,由于某种原因,一旦UITextView检测到地址或电话号码并成为可 *** 作的目标,它将随机使用其 我一直在寻找这个问题的解决方案,似乎没有人遇到类似的问题.

基本上我有多个UITextVIEw用于检测来自某些EKEvent.notes的地址,网址,电话号码等(可通过UIDataDectorTypeAll检测到的任何内容).然后我将这些UITextVIEws添加为UIScrollVIEw的子视图.

现在,由于某种原因,一旦UITextVIEw检测到地址或电话号码并成为可 *** 作的目标,它将随机使用其指定字体的2x字体绘制!

如果我点击,我设置测试只是重绘我的视图.当UITextVIEw最初添加到视图中时,我可以用黑色看到正确的文本.然后它执行检测处理并成为可 *** 作的目标.有时它保持适当的大小,有时它以2x字体绘制(但仍然在适当的帧中,因此它被剪裁).

它非常直接,但这是我的代码.所有变量都是正确的值,框架是正确的,文本是正确的,一切都是正确的,大约50%的时间是正确的.它只是其他50%的时间它(显然)2x字体!任何帮助是极大的赞赏!

UITextVIEw *locationTextVIEw = [[UITextVIEw alloc] init];locationTextVIEw.dataDetectorTypes = UIDataDetectorTypeAll;locationTextVIEw.text = location;locationTextVIEw.Font = [UIFont FontWithname:@"AvenirNext-Regular" size:17];locationTextVIEw.editable = NO;locationTextVIEw.userInteractionEnabled = YES;locationTextVIEw.contentInset = UIEdgeInsetsMake(-8,-8,-8);locationTextVIEw.frame =CGRectMake(kBufferleft,daySize.height,kBufferDayVIEwTextWIDth,locationSize.height);[scrollVIEw addSubvIEw:locationTextVIEw];

正确:http://i.imgur.com/3pJ43kj.jpg

不正确:http://i.imgur.com/DLq4gco.jpg

(不允许发布图片,抱歉.)

相同的代码产生了两种效果.感谢您的时间.

干杯!

编辑:我使用TTTAttributedLabels来解决这个问题.

github.com/mattt/TTTAttributedLabel

解决方法 您可以在< UITextFIEld>处设置字体.代表.

-(BOol)textVIEw:(UITextVIEw *)textVIEw shouldChangeTextInRange:(NSRange)range replacementText:(Nsstring *)text {   locationTextVIEw.Font = [UIFont FontWithname:@"AvenirNext-Regular" size:17];}
总结

以上是内存溢出为你收集整理的ios – UITextView在检测到 *** 作时更改字体全部内容,希望文章能够帮你解决ios – UITextView在检测到 *** 作时更改字体所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1020780.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存