【问题标题】:iOS: set font size of UILabel ProgrammaticallyiOS:以编程方式设置 UILabel 的字体大小
【发布时间】:2013-07-08 16:15:00
【问题描述】:

我正在尝试设置 UILabel 的字体大小。尽管文本大小似乎没有改变,但无论我输入什么值。这是我正在使用的代码。

[self setTitleLabel:[[UILabel alloc] initWithFrame:CGRectMake(320.0,0.0,428.0,50.0)]];
[[self contentView] addSubview:[self titleLabel]];
UIColor *titlebg = [UIColor clearColor];
[[self titleLabel] setBackgroundColor:titlebg];
[[self titleLabel] setTextColor:[UIColor blackColor]];
[[self titleLabel] setFont:[UIFont fontWithName:@"System" size:36]];

【问题讨论】:

    标签: ios uilabel


    【解决方案1】:

    试试[UIFont systemFontOfSize:36][UIFont fontWithName:@"HelveticaNeue" size:36][[self titleLabel] setFont:[UIFont systemFontOfSize:36]];

    【讨论】:

    • setFont 在 iOS 10.2 中已弃用
    【解决方案2】:

    目标-C:

    [label setFont: [label.font fontWithSize: sizeYouWant]];
    

    斯威夫特:

    label.font = label.font.fontWithSize(sizeYouWant)
    

    只是改变 UILabel 的字体大小。

    【讨论】:

    • 显然,setFont 已被弃用,所以label.font = // Whatever font.
    • @FabricioPH 如果我想设置label.font = // whatever currently system's font 字体怎么办?
    • @ChenLiYong 我不再从事 iOS 开发。也许谷歌搜索会显示一些有关设置当前系统字体或获取它的相关结果。 google.com/?#q=ios%20system%20font
    【解决方案3】:

    斯威夫特 3.0 / 斯威夫特 4.2 / 斯威夫特 5.0

    labelName.font = labelName.font.withSize(15)
    

    【讨论】:

      【解决方案4】:

      如果您正在寻找 swift 代码:

      var titleLabel = UILabel()
      titleLabel.font = UIFont(name: "HelveticaNeue-UltraLight",
                               size: 20.0)
      

      【讨论】:

        【解决方案5】:

        这段代码非常适合我。

          UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(15,23, 350,22)];
          [label setFont:[UIFont systemFontOfSize:11]];
        

        【讨论】:

        • 我也是,[[self titleLabel] setFont:[UIFont systemFontOfSize:36]];没有,我不知道为什么
        【解决方案6】:

        在 Swift 3.0 中,您可以使用以下代码:

        let textLabel = UILabel(frame: CGRect(x:containerView.frame.width/2 - 35, y: 
            containerView.frame.height/2 + 10, width: 70, height: 20))
            textLabel.text = "Add Text"
            textLabel.font = UIFont(name: "Helvetica", size: 15.0) // set fontName and Size
            textLabel.textAlignment = .center
            containerView.addSubview(textLabel) // containerView is a UIView
        

        【讨论】:

          【解决方案7】:

          这是因为没有名称为@"System" 的字体系列,因此size:36 也不起作用...

          在属性检查器中检查 xcode 中可用的字体并尝试

          【讨论】:

            【解决方案8】:

            适用于 iOS 8

              static NSString *_myCustomFontName;
            
             + (NSString *)myCustomFontName:(NSString*)fontName
              {
             if ( !_myCustomFontName )
              {
               NSArray *arr = [UIFont fontNamesForFamilyName:fontName];
                // I know I only have one font in this family
                if ( [arr count] > 0 )
                   _myCustomFontName = arr[0];
              }
            
             return _myCustomFontName;
            
             }
            

            【讨论】:

            • 也可能是你的字体目标成员的问题。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2010-11-21
            • 1970-01-01
            • 2023-03-07
            • 2017-08-17
            • 2016-02-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多