相关疑难解决方法(0)

使用NSAttributedString更改字符串颜色?

我有一个调查滑块,根据滑块的值显示以下字符串:"非常糟糕,糟糕,好,好,非常好".

以下是滑块的代码:

- (IBAction) sliderValueChanged:(UISlider *)sender {
    scanLabel.text = [NSString stringWithFormat:@" %.f", [sender value]];
    NSArray *texts=[NSArray arrayWithObjects:@"Very Bad", @"Bad", @"Okay", @"Good", @"Very Good", @"Very Good", nil];
    NSInteger sliderValue=[sender value]; //make the slider value in given range integer one.
    self.scanLabel.text=[texts objectAtIndex:sliderValue];
}
Run Code Online (Sandbox Code Playgroud)

我希望"非常糟糕"为红色,"坏"为橙色,"好"为黄色,"好"和"非常好"为绿色.

我不明白如何使用NSAttributedString来完成这项工作.

cocoa-touch nsattributedstring ios

137
推荐指数
7
解决办法
15万
查看次数

UITextView字体为零

我在故事板中创建了一个字体大小为14的UITextView,并将其连接到我的ViewController的detailDescriptionLabel属性.此代码位于viewDidLoad中:

self.detailDescriptionLabel.font=[UIFont systemFontOfSize:10];
NSLog(@"text is %@; font is %@", self.detailDescriptionLabel.text, self.detailDescriptionLabel.font);
Run Code Online (Sandbox Code Playgroud)

控制台输出如下:

text is Lorem Ipsum; font is (null)
Run Code Online (Sandbox Code Playgroud)

为什么字体设置为nil?setFont:正在工作; 字体缩小了.我希望得到字体,所以在手势后我可以在字体上调用lineHeight.这样,我可以使用以下代码找出已经使用了哪一行:

int line = [tap locationInView:tap.view].y / self.detailDescriptionLabel.font.lineHeight;
Run Code Online (Sandbox Code Playgroud)

这里的字体也是零.line设置为-2147483648,这显然不是我想要的.

fonts objective-c uitextview uifont ios

34
推荐指数
2
解决办法
7202
查看次数