【发布时间】:2016-04-21 12:47:59
【问题描述】:
我需要根据UISlider的值改变UITextView的字体大小。
写于viewDidLoad()
tvVarse.text=strTextToShow; //tvVarse is the UITextViewOutlet, strTextToShow is the text to be shown on textView
已检查:
-
UITextView和UISlider的插座均已连接。 -
UITextVIew在插座中检查了“可选”行为。 - 给定
UISlider,最小值为 13,最大值为 25 in 奥特莱斯。
编辑:
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];
}
谁能告诉我为什么这些不起作用?
【问题讨论】:
-
iOS 版本是多少?
-
iOS 9.2 for iPhone,在 Simulator vs 9.2 中测试
标签: ios objective-c uitextview uislider