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