【问题标题】:Corner Radius property of UILabel is not working in iOS 7.1UILabel 的角半径属性在 iOS 7.1 中不起作用
【发布时间】:2014-03-12 10:20:09
【问题描述】:

我正在为UILabel 设置cornerRadius 属性。 iOS < 7.1 的所有版本都可以正常工作。以下代码我用过,

UILabel *originaltagLbl = [[UILabel alloc]initWithFrame:CGRectMake(startX, startY, 100,30)];    
[originaltagLbl setFont:[UIFont fontWithName:@"MuseoSans-500" size:15]];
[originaltagLbl setTextAlignment:NSTextAlignmentCenter];
[originaltagLbl setTextColor:UIColorFromRGB(0xffffff)];
originaltagLbl.backgroundColor = [UIColor redColor];
originaltagLbl.layer.cornerRadius = 5;
originaltagLbl.layer.borderColor = [UIColor redColor].CGColor;
originaltagLbl.layer.borderWidth = 1;
[scrollView addSubview:originaltagLbl];

如果我使用这个,只是简单地将标签显示为矩形框,那么如何在iOS 7.1中设置UILabel的圆角半径

【问题讨论】:

  • 您确定您的标签将.clipsToBounds 属性设置为YES?

标签: ios iphone objective-c ios7.1


【解决方案1】:

将下一行添加到您的代码中:

// Swift:
originaltagLbl.layer.masksToBounds = true

// Objective C:
originaltagLbl.layer.masksToBounds = YES;

有关信息,请参阅this SO 答案,或阅读documentation

【讨论】:

  • 有趣。这行得通,但为什么它改变了?我以前从未在 UILabels 上为cornerRadius 使用 layer.masksToBounds。
  • @AndrewRobinson 我添加以回答一些解释其工作原理的来源。
  • 我了解它是如何工作的,我想知道它何时/为什么会改变。我一直在 UILabels 上使用cornerRadius,并且不必使用 maskToBounds。
  • 非常感谢您。这个我找了很久
【解决方案2】:

斯威夫特 3/4/5

    yourlabel.layer.cornerRadius = 8 //your desire radius
    yourlabel.layer.masksToBounds = true

【讨论】:

    【解决方案3】:

    尝试将 UILabel 的 clipsToBounds 属性设置为 YES

    【讨论】:

      【解决方案4】:

      确实,clipsToBounds 在 7.1 中有效,但问题是在您滚动/动画的情况下,它真的很慢并且让一切变得迟缓。

      只需在图层而不是 uiview 上设置背景颜色。

      见: UILabel layer cornerRadius negatively impacting performance

      【讨论】:

        【解决方案5】:

        Swift 2 解决方案:

        @IBOutlet weak var your_label: UILabel!
        
        your_label.layer.cornerRadius = 5
        your_label.layer.masksToBounds = true

        【讨论】:

          【解决方案6】:

          你可以使用下面的代码,

          [[myLabel layer] setCornerRadius:5.0f];
          [[myLabel layer] setMasksToBounds:YES];
          

          谢谢,

          【讨论】:

            猜你喜欢
            • 2014-04-14
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-09-12
            • 2011-05-17
            相关资源
            最近更新 更多