如何将文本对齐属性添加到NSAttributedString以使文本居中?
编辑:我做错了什么?它似乎没有改变对齐方式.
CTParagraphStyleSetting setting;
setting.spec = kCTParagraphStyleSpecifierAlignment;
setting.valueSize = kCTCenterTextAlignment;
CTParagraphStyleSetting settings[1] = {
{kCTParagraphStyleSpecifierAlignment, sizeof(CGFloat), &setting},
};
CTParagraphStyleRef paragraph = CTParagraphStyleCreate(settings, sizeof(setting));
NSMutableAttributedString *mutableAttributed = [[NSMutableAttributedString alloc] initWithAttributedString:self.attributedString];
[mutableAttributed addAttributes:[NSDictionary dictionaryWithObjectsAndKeys:(NSObject*)paragraph ,(NSString*) kCTParagraphStyleAttributeName, nil] range:_selectedRange];
Run Code Online (Sandbox Code Playgroud) 是的,很多人都在谈论iPhone/iPad上的Rich Text,很多人都知道NSAttributedString.
但如何使用NSAttributedString?我搜索了很多时间,没有提取线索.
我知道如何设置NSAttributedString,然后我应该怎么做才能在iPhone/iPad上显示富文本文本?
官方文档称它应该与之一起使用CoreText.Framework,这意味着什么?
有这样简单的方法吗?
NSAttributedString *str;
.....
UILabel *label;
label.attributedString = str;
Run Code Online (Sandbox Code Playgroud) 我们在项目中使用自定义字体.它在Xcode 5中运行良好.在Xcode 6中,它以纯文本形式工作,在代码中归因于字符串.但是,在故事板中设置的那些归因字符串在模拟器或设备上运行时都会恢复到Helvetica,尽管它们在故事板中看起来很好.
我不确定这是Xcode 6或iOS 8 SDK的错误,还是在Xcode 6/iOS 8中改变了使用自定义字体的方式?
NSAttributedString 对我来说真是难以捉摸.
我想设置一个UILabel具有不同大小的文本,我收集的NSAttributedString是要走的路,但我无法获得任何关于此的文档.
如果有人能用一个具体的例子来帮助我,我会很高兴.
例如,假设我想要的文字是:
(in small letters:) "Presenting The Great..."
(in huge letters:) "HULK HOGAN!"
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我该怎么做吗?或者甚至是一个简单明了的参考资料,我可以为自己学习?我发誓我已经尝试通过文档来理解这一点,甚至通过Stack Overflow上的其他示例,我只是没有得到它.
有没有办法在iOS中的单个标签中使用两种甚至三种字体颜色?
如果用"你好,你好吗"这个文字作为一个例子,那么"你好"会是蓝色的,"你好吗"会是绿色的吗?
这有可能,它似乎比创建多个标签更容易吗?
我已经尝试了一切但似乎无法将这个文本集中在一起.有人可以告诉我错误在哪里.
NSMutableParagraphStyle *paragraphStyle = NSMutableParagraphStyle.new;
paragraphStyle.alignment = NSTextAlignmentCenter;
label.attributedText = [[NSAttributedString alloc] initWithString:cell.EventTitle.text attributes:@{NSForegroundColorAttributeName : [UIColor whiteColor],NSParagraphStyleAttributeName:paragraphStyle,NSBaselineOffsetAttributeName : @0,NSFontAttributeName : [UIFont fontWithName:@"BrandonGrotesque-Black" size:34]}];
Run Code Online (Sandbox Code Playgroud) 我有以下代码,但我的链接始终是蓝色的.我如何塑造它们的颜色?
[_string addAttribute:NSLinkAttributeName value:tag range:NSMakeRange(position, length)];
[_string addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"HelveticaNeue-Bold" size:(12.0)] range:NSMakeRange(position, length)];
[_string addAttribute:NSStrokeColorAttributeName value:[UIColor greenColor] range:NSMakeRange(position, length)];
Run Code Online (Sandbox Code Playgroud)
_string是一个NSMutableAttributedString,位置和长度工作正常.
现在,NSAttributedString在iOS 6中可用.出于布局目的,我想知道如何在固定宽度下计算NSAttributedString所需的高度.我正在寻找与NSString相当的东西,- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size但是对于NSAttributedString.
要计算NSAttributedStrings的绘图大小,有两种方法可用:
- (CGSize)size 不能使用,因为它没有考虑任何宽度.- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options context:(NSStringDrawingContext *)context,但不知怎的,它没有给我正确的高度.我觉得这个方法很麻烦.如果我运行以下代码,它bounding size: 572.324951, 19.000000会让我忽略200的给定宽度.它应该给我一些像100的高度.
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] init];
NSDictionary *attributes = @{NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue" size:15], NSForegroundColorAttributeName : [UIColor blueColor]};
[attributedString appendAttributedString:[[NSAttributedString alloc] initWithString:@"Attributed String\n" attributes:attributes]];
[attributedString appendAttributedString:[[NSAttributedString alloc] initWithString:@"Attributed String\n" attributes:attributes]];
[attributedString appendAttributedString:[[NSAttributedString alloc] initWithString:@"Attributed String\n" attributes:attributes]];
[attributedString appendAttributedString:[[NSAttributedString alloc] initWithString:@"Attributed String\n" attributes:attributes]];
[attributedString appendAttributedString:[[NSAttributedString alloc] initWithString:@"Attributed String\n" attributes:attributes]];
CGRect frame = [attributedString boundingRectWithSize:CGSizeMake(200, 1000) options:0 … 基本上,我从弹出的"字体"窗口中选择的任何更改都不会生效.
有没有人成功地从故事板添加下划线?
注意:我已经知道如何在代码中执行此操作.我想避免添加代码.
我有一些HTML数据,其中包含标题,段落,图像和列表标签.
有没有办法在一个UITextView或中显示这些数据UILabel?