Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSAttribute字符串的粗体部分,不知道长度_Ios_Objective C_Nsstring_Uitextfield_Nsattributedstring - Fatal编程技术网

Ios NSAttribute字符串的粗体部分,不知道长度

Ios NSAttribute字符串的粗体部分,不知道长度,ios,objective-c,nsstring,uitextfield,nsattributedstring,Ios,Objective C,Nsstring,Uitextfield,Nsattributedstring,我正在开发一个应用程序,它将从UITextFields中获取用户输入的数据,例如用户的名字和姓氏。稍后,我想用粗体显示这些数据 我读过和,但这些似乎表明您必须知道要设置为粗体的字符范围 在我的例子中,在用户输入数据之前,我实际上不知道字符串的长度……在这种情况发生之前,我如何知道字符串的长度设置为粗体 下面是我正在使用的UITextFields的属性,稍后我将以粗体显示 @property (strong, nonatomic) IBOutlet UITextField *firstName;

我正在开发一个应用程序,它将从UITextFields中获取用户输入的数据,例如用户的名字和姓氏。稍后,我想用粗体显示这些数据

我读过和,但这些似乎表明您必须知道要设置为粗体的字符范围

在我的例子中,在用户输入数据之前,我实际上不知道字符串的长度……在这种情况发生之前,我如何知道字符串的长度设置为粗体

下面是我正在使用的UITextFields的属性,稍后我将以粗体显示

@property (strong, nonatomic) IBOutlet UITextField *firstName;
@property (strong, nonatomic) IBOutlet UITextField *lastName;
下面是我目前如何创建字符串来存储文本字段中的信息,我希望所有这些字段都以粗体显示:

NSString *firstName = [_firstName text];
NSString *lastName  = [_lastName text];

在编写代码时,您可能不知道输入文本框的文本长度,但在运行时您会知道

试着这样做:

NSMutableAttributedString *attribFirstNameString = [[NSMutableAttributedString alloc] initWithString: [firstName text]];
NSRange firstNameRange = NSMakeRange(0, [[firstName text] length]);
[attribFirstNameString addAttribute: NSFontAttributeName value: [UIFont boldSystemFontOfSize: 20.0f] range: firstNameRange];
[firstName setAttributedText: attribFirstNameString];

你忘了提你要大胆做的事了。现在应该改正了;对不起,这不是很清楚。你想把两个字符串都加粗吗?是的,我的错;我会把它编辑得更清楚。你想把姓氏或名字加粗还是两者都加粗?这很难。为什么不使用initWithString:attributes:?当然可以。我想更详细一点来说明发生了什么。我们创建属性字符串。我们创建范围。我们将粗体字体添加到范围中。我们回到文本字段。嗨@Axeva,谢谢你的评论。我尝试对下面的代码执行类似的操作,但我不断收到一个错误,该错误表示NSFont是未声明的标识符:NSMutableAttributedString*firstName=[[NSMutableAttributedString alloc]initWithString:_firstName.text];[firstName addAttribute:NSFontAttributeName值:[NSFont fontWithName:@Helvetica Bold]@narner现在你又遇到了另一个问题。我建议你提出一个关于如何处理数据存储的新问题。我认为你是对的@Axeva。我仍然会将你的答案标记为正确;我猜我将不得不在检索用户数据的同一空间中使用它。