我需要根据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];
}
谁能告诉我为什么这些不起作用?
试试这个...
先设置字体,再写文字……
tvVarse.font = [tvVarse.font fontWithSize:sender.value];
tvVarse.text=strTextToShow;
关于ios - 通过 UISlider 更改 UITextView 的字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36770136/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) | Powered by Discuz! X3.4 |