Closed leibaozai closed 8 years ago
你好!我想实现一个设置粗体的功能,目前遇到几个问题。
(void)fontButtonAciton:(UIButton )btn{ btn.selected = !btn.selected; NSMutableAttributedString atts = [[NSMutableAttributedString alloc] initWithString:@" "]; atts.yy_lineSpacing = 1.8; NSMutableAttributedString *text = self.yyTextView.attributedText.mutableCopy; __block NSInteger lastCurPosition = self.yyTextView.selectedRange.location; if ([btn isSelected]) { atts.yy_font = [UIFont fontWithName:@"PingFangSC-Medium" size:17]; }else{ atts.yy_font = [UIFont fontWithName:@"PingFangSC-Light" size:17]; } [text insertAttributedString:atts atIndex:lastCurPosition];
dispatch_async(dispatch_get_main_queue(), ^{ self.yyTextView.attributedText = text; lastCurPosition += atts.length; [self.view resignFirstResponder]; self.yyTextView.selectedRange = NSMakeRange(lastCurPosition, 0); [self.yyTextView becomeFirstResponder]; }); }
1、NSMutableAttributedString初始化必须@" "不能@"",要不然就会出现你说的这种问题,那有没有什么办法做到设置字体???
NSMutableAttributedString 有这样的特性:当在某处插入纯文本时,这段纯文本会被附加上它附近一个字符(一般是左侧的字符)的属性, 2、如果设置空格,当我切换多几次会发现view会出现跳动,不知道是不是计算的问题。跳动截图如下
用 typingAttributes 这个属性来设置字体试试看。
谢谢!已解决。
你好!我想实现一个设置粗体的功能,目前遇到几个问题。
(void)fontButtonAciton:(UIButton )btn{ btn.selected = !btn.selected; NSMutableAttributedString atts = [[NSMutableAttributedString alloc] initWithString:@" "]; atts.yy_lineSpacing = 1.8; NSMutableAttributedString *text = self.yyTextView.attributedText.mutableCopy; __block NSInteger lastCurPosition = self.yyTextView.selectedRange.location; if ([btn isSelected]) { atts.yy_font = [UIFont fontWithName:@"PingFangSC-Medium" size:17]; }else{ atts.yy_font = [UIFont fontWithName:@"PingFangSC-Light" size:17]; } [text insertAttributedString:atts atIndex:lastCurPosition];
dispatch_async(dispatch_get_main_queue(), ^{ self.yyTextView.attributedText = text; lastCurPosition += atts.length; [self.view resignFirstResponder]; self.yyTextView.selectedRange = NSMakeRange(lastCurPosition, 0); [self.yyTextView becomeFirstResponder]; }); }
1、NSMutableAttributedString初始化必须@" "不能@"",要不然就会出现你说的这种问题,那有没有什么办法做到设置字体???
241
NSMutableAttributedString 有这样的特性:当在某处插入纯文本时,这段纯文本会被附加上它附近一个字符(一般是左侧的字符)的属性, 2、如果设置空格,当我切换多几次会发现view会出现跳动,不知道是不是计算的问题。跳动截图如下