如何使用按钮更改整个iPhone应用程序的字体大小

时间:2013-01-05 20:29:22

标签: iphone ios xcode storyboard

我有一个iPhone应用程序,屏幕上有很多UILabel。我正在使用Storyboard。我的问题是这个。如何使用“设置”屏幕中的按钮或滑块更改应用中所有标签的字体大小?我还希望有最大尺寸,否则文字对于屏幕来说会变得太大。

谢谢!

2 个答案:

答案 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上使用它。

如果您还有其他需要,请告诉我。