我有一个iPhone应用程序,屏幕上有很多UILabel。我正在使用Storyboard。我的问题是这个。如何使用“设置”屏幕中的按钮或滑块更改应用中所有标签的字体大小?我还希望有最大尺寸,否则文字对于屏幕来说会变得太大。
谢谢!
答案 0 :(得分:2)
试试这个:
-(IBAction)sliderValueChanged:(UISlider *)sender
{
CGFloat maxFontSize = 24.0;
CGFloat minFontSize = 8.0;
CGFloat sliderValue = sender.value;
if ((sliderValue < maxFontSize) && (sliderValue > minFontSize)) {
label1.font = [UIFont boldSystemFontOfSize:sliderValue];
label2.font = [UIFont boldSystemFontOfSize:sliderValue];
label3.font = [UIFont boldSystemFontOfSize:sliderValue];
}
}
我没有测试过这段代码,但我觉得它应该可行.. 希望有所帮助。
答案 1 :(得分:1)
好。没有一种很棒的方法可以做到这一点。如果你正在寻找快捷方式,那你就不走运了。您需要创建一个可以在每个viewControllers viewDidLoad:
方法中运行的方法,但首先要这样做:
首先,你应用中的某个地方有一个滑块。假设滑块范围为1-5。对于1之后的每个值,将int保存在稍后可以引用的某个位置。在任何文件中都可以。见NSCoding。基本上,你取数字,在这种情况下为5,然后减去一个并保存。因此,如果用户选择5,您将节省4。
好的,现在在每个控制器viewDidLoad中,都有类似的方法执行以下操作:
获取您保存的int值。现在,获取基本文本大小并添加您保存的数字。稍后你将需要它作为CGFloat。我对如何使用它并不乐观,但你可以找到它。
然后使用:
[label1 setFont:[UIFont fontWithName:@"Name Of font" size:<#(CGFloat)#>]]
您必须在所有UILabel上使用它。
如果您还有其他需要,请告诉我。