我想制作一个简单的咖啡计算器.我需要以克为单位显示咖啡量.克的"g"符号需要附加到我用来显示金额的UILabel上.UILabel中的数字正在根据用户输入动态变化,但我需要在字符串末尾添加小写"g",其格式与更新数字不同.需要将"g"附加到数字上,以便随着数字大小和位置的变化,"g"随着数字"移动".我确信这个问题已经解决了,所以正确的方向链接会有所帮助,因为我已经搜索了我的小心脏.
我在文档中搜索了一个属性字符串,我甚至从应用程序商店下载了一个"Attributed String Creator",但结果代码是在Objective-C中,我使用的是Swift.什么是令人敬畏的,并且可能对其他开发人员学习这种语言有帮助,这是使用Swift中的属性字符串创建具有自定义属性的自定义字体的明显示例.这方面的文档非常令人困惑,因为没有非常明确的方法来解决这个问题.我的计划是创建属性字符串并将其添加到coffeeAmount字符串的末尾.
var coffeeAmount: String = calculatedCoffee + attributedText
Run Code Online (Sandbox Code Playgroud)
其中calculateCoffee是一个Int转换为字符串,"attributedText"是小写的"g",其中包含我想要创建的自定义字体.也许我会以错误的方式解决这个问题.任何帮助表示赞赏!
问题:当我使用使用Range的Swift String时,NSAttributedString接受NSRange
let text = "Long paragraph saying something goes here!"
let textRange = text.startIndex..<text.endIndex
let attributedString = NSMutableAttributedString(string: text)
text.enumerateSubstringsInRange(textRange, options: NSStringEnumerationOptions.ByWords, { (substring, substringRange, enclosingRange, stop) -> () in
if (substring == "saying") {
attributedString.addAttribute(NSForegroundColorAttributeName, value: NSColor.redColor(), range: substringRange)
}
})
Run Code Online (Sandbox Code Playgroud)
产生以下错误:
错误:'Range'不能转换为'NSRange'aligolsString.addAttribute(NSForegroundColorAttributeName,value:NSColor.redColor(),range:substringRange)
如何在iOS 7中使用UITextView计算UITableViewCell的高度?
我在类似的问题上找到了很多答案,但sizeWithFont:参与了每个解决方案,这个方法已被弃用!
我知道我必须使用- (CGFloat)tableView:heightForRowAtIndexPath:但是如何计算TextView显示整个文本所需的高度?
我想在以下内容中显示如下字符串UILabel:
有5个结果.
数字5的颜色为红色,其余字符串为黑色.
我怎么能在代码中这样做?
是的,很多人都在谈论iPhone/iPad上的Rich Text,很多人都知道NSAttributedString.
但如何使用NSAttributedString?我搜索了很多时间,没有提取线索.
我知道如何设置NSAttributedString,然后我应该怎么做才能在iPhone/iPad上显示富文本文本?
官方文档称它应该与之一起使用CoreText.Framework,这意味着什么?
有这样简单的方法吗?
NSAttributedString *str;
.....
UILabel *label;
label.attributedString = str;
Run Code Online (Sandbox Code Playgroud) 有没有办法在iOS中的单个标签中使用两种甚至三种字体颜色?
如果用"你好,你好吗"这个文字作为一个例子,那么"你好"会是蓝色的,"你好吗"会是绿色的吗?
这有可能,它似乎比创建多个标签更容易吗?
我可以设置对象的attributedText属性UILabel吗?我尝试了下面的代码:
UILabel *label = [[UILabel alloc] init];
label.attributedText = @"asdf";
Run Code Online (Sandbox Code Playgroud)
但它给出了这个错误:
在'UILabel*'类型的对象上找不到属性"attributedText"
#import <CoreText/CoreText.h> 不工作
是否可以在UITextView和UITextField中更改单个单词的颜色?
如果我输入了一个带有符号前面的单词(例如:@word),它的颜色可以改变吗?
是否可以在字符串的不同部分添加左对齐和右对齐?
我尝试将对齐属性添加到右侧部分:
NSMutableParagraphStyle *paragrahStyle = [[NSMutableParagraphStyle alloc] init];
[paragrahStyle setAlignment:NSTextAlignmentRight];
[mutableAttributedString addAttribute:NSParagraphStyleAttributeName value:paragrahStyle range:rangeOfDate];
Run Code Online (Sandbox Code Playgroud)
但是整个字符串与左边对齐.
如何在文本中加下划线UITextView.我明白我需要创建一个子类UITextView,但是会发生什么drawRect:?
谢谢.
ios ×6
objective-c ×5
swift ×4
uilabel ×3
iphone ×2
textcolor ×2
uitextview ×2
cocoa-touch ×1
fonts ×1
height ×1
ios6 ×1
ios7 ×1
ipad ×1
macos ×1
nsrange ×1
uitableview ×1
uitextfield ×1
xcode ×1