我需要根据 UISlider
的值更改 UITextView
的字体大小。
写在viewDidLoad()
tvVarse.text=strTextToShow;//tvVarse 是 UITextViewOutlet,strTextToShow 是要在 textView 上显示的文本
检查:
UITextView
和UISlider
的 Outlet 都已连接。UITextVIew
在 outlet 中检查行为“Selectable”。- 给定
UISlider
最小值为 13,最大值为 25 导出。
编辑:
UIView
我试过以下代码:
尝试 1:
- (IBAction)sliderTap:(UISlider*)sender //Value changed action for UISlider
{
tvVarse.font = [tvVarse.font fontWithSize:sender.value];
}
尝试 2:
- (IBAction)sliderTap:(UISlider*)sender //Value changed action for UISlider
{
dispatch_async(dispatch_get_main_queue(), ^{
tvVarse.font = [tvVarse.font fontWithSize:sender.value];
});
}
尝试 3:
- (IBAction)sliderTap:(UISlider*)sender //Value changed action for UISlider
{
dispatch_async(dispatch_get_main_queue(), ^{
tvVarse.text=strTextToShow;
tvVarse.font = [tvVarse.font fontWithSize:sender.value];
[tvVarse setNeedsLayout];
[tvVarse setNeedsDisplay];
});
}
尝试 4:
- (IBAction)sliderTap:(UISlider*)sender //Value changed action for UISlider
{
dispatch_async(dispatch_get_main_queue(), ^{
tvVarse.font = [tvVarse.font fontWithSize:sender.value];
tvVarse.text=strTextToShow;
[tvVarse setNeedsLayout];
[tvVarse setNeedsDisplay];
});
}
尝试 5:
- (IBAction)sliderTap:(UISlider*)sender //Value changed action for UISlider
{
tvVarse.font = [tvVarse.font fontWithSize:sender.value];
tvVarse.text=strTextToShow;
}
现在有趣的是,当我提供其他文本时,它正在工作,即
工作但不同的小文本:
- (IBAction)sliderTap:(UISlider*)sender //Value changed action for UISlider
{
tvVarse.text=@"My name is Manab";
tvVarse.font = [tvVarse.font fontWithSize:sender.value];
}
谁能告诉我为什么这些不起作用?
最佳答案
试试这个...
先设置字体再写文字...
tvVarse.font = [tvVarse.font fontWithSize:sender.value];
tvVarse.text=strTextToShow;
关于ios - 通过 UISlider 更改 UITextView 的字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36770136/