Objective c 属性文本在UITextView中消失-目标C

Objective c 属性文本在UITextView中消失-目标C,objective-c,nsmutablearray,ibaction,nsmutableattributedstring,Objective C,Nsmutablearray,Ibaction,Nsmutableattributedstring,我有一个索引为0的数组,该数组存储NSString。我还有一个“并行”数组,它的索引0已经填充,并且它存储NSN编号 在执行中: @implementation ViewController NSMutableArray *intonationStrings; NSMutableArray *intonationSizes; 在viewDidLoad()中: 有一个滑块,最小值为9,最大值为40,表示字体大小。有一个文本字段,它的当前文本用于在文本视图中创建NSRange,以开始对文本进行属

我有一个索引为0的数组,该数组存储NSString。我还有一个“并行”数组,它的索引0已经填充,并且它存储NSN编号

在执行中:

@implementation ViewController

NSMutableArray *intonationStrings;
NSMutableArray *intonationSizes;
在viewDidLoad()中:

有一个滑块,最小值为9,最大值为40,表示字体大小。有一个文本字段,它的当前文本用于在文本视图中创建NSRange,以开始对文本进行属性设置。此操作发生在按钮操作的内部:

-(IBAction)applyResizeAct:(id)sender{

 NSString *lyricString = _lyricPad.text;
 NSString *searchString = _searchLyrics.text;

 NSMutableAttributedString *lyricStringMut = [[NSMutableAttributedString alloc] initWithString: lyricString];

 float sliderValue = _resizeLyrics.value;

 [intonationStrings addObject:searchString];
 [intonationSizes addObject:[NSNumber numberWithInt:sliderValue]];

 for (int i=1; i<[intonationStrings count]; i++){

     NSRange searchStringRange = [lyricString rangeOfString:intonationStrings[i]];
     NSInteger searchStringNewSize = [intonationSizes[i] integerValue];
     int searchStringNewSizeInteger = (int) searchStringNewSize;

      [lyricStringMut addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Menlo" size:searchStringNewSizeInteger] 
range:searchStringRange];
 }
self.lyricPad.attributedText = lyricStringMut;
}
-(iAction)applyResizeAct:(id)发送方{
NSString*lyricString=\u lyricPad.text;
NSString*searchString=\u searchlyms.text;
NSMutableAttributedString*lyricString=[[NSMutableAttributedString alloc]initWithString:lyricString];
float sliderValue=\u resizeLyrics.value;
[输入字符串添加对象:搜索字符串];
[intonationSizes addObject:[NSNumber numberWithInt:sliderValue]];

对于(int i=1;i为什么在循环内执行
self.lyricPad.attributeText=lyricStringMut;
?只在循环后设置一次。我尝试了。我只是将它移到了内部,因为它不起作用:/好的,所以在测试时,NSNumber和float是唯一正确返回的数据类型。我认为NSLog有问题,因为它不起作用,所以我设置了随机UITextField的文本作为要测试的数字。当在UITextView中使用属性进行测试时,Float只会使单词消失。NSNumber是执行该功能的不兼容类型。没有想法了。从数组中检索存储的NSNumber显示为null…这是主要问题。为什么要执行
self.phpad.attributedText=lyricStringMut;
在循环内?在循环后设置一次。我尝试了。我只是将它移到了内部,因为它不起作用:/好的,所以NSNumber和float是测试时唯一正确返回的数据类型。我认为NSLog有问题,因为它不起作用,所以我设置了随机UITextField的文本作为数字在UITextView中使用attribute进行测试时,test.Float只会使单词消失。NSNumber是执行该函数的不兼容类型。构思不足。此外,从数组中检索存储的NSNumber显示为null…这是主要问题。
-(IBAction)applyResizeAct:(id)sender{

 NSString *lyricString = _lyricPad.text;
 NSString *searchString = _searchLyrics.text;

 NSMutableAttributedString *lyricStringMut = [[NSMutableAttributedString alloc] initWithString: lyricString];

 float sliderValue = _resizeLyrics.value;

 [intonationStrings addObject:searchString];
 [intonationSizes addObject:[NSNumber numberWithInt:sliderValue]];

 for (int i=1; i<[intonationStrings count]; i++){

     NSRange searchStringRange = [lyricString rangeOfString:intonationStrings[i]];
     NSInteger searchStringNewSize = [intonationSizes[i] integerValue];
     int searchStringNewSizeInteger = (int) searchStringNewSize;

      [lyricStringMut addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Menlo" size:searchStringNewSizeInteger] 
range:searchStringRange];
 }
self.lyricPad.attributedText = lyricStringMut;
}