UItableviewCell 上标签的角半径不适用于 xcode 8

vin*_*nay 2 iphone uitableview uilabel ios xcode8

这是我的代码

[cell.label.layer setCornerRadius:cell.label.frame.size.width/2];
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的:-

cell.label.clipsToBounds = YES;
Run Code Online (Sandbox Code Playgroud)

也试过:-

cell.label.layer.masksToBounds = YES;
Run Code Online (Sandbox Code Playgroud)

我也进口了:-

#import <QuartzCore/QuartzCore.h>
Run Code Online (Sandbox Code Playgroud)

这些方法都不起作用。

此外,我已经在 IOS 9 和 IOS 10 以及模拟器和设备中进行了尝试,那里的任何人都面临相同的问题?

回答

经过一些试验和错误方法后,我发现将绝对值传递给拐角半径参数是有效的。

[cell.label.layer setCornerRadius:20.0];
Run Code Online (Sandbox Code Playgroud)

这涉及到最后一个问题,当将 Storyboard 用于 tableview 时,如何动态设置标签的角半径。

nis*_*ngh 5

试试把这个

cell.label.layer.masksToBounds = YES;
Run Code Online (Sandbox Code Playgroud)

awakeFromNib或者init如果你没有使用 xib 或故事板并把

cell.label.layer.cornerRadius = cell.label.frame.size.width/2;
Run Code Online (Sandbox Code Playgroud)

layoutSubviews你的UITableViewCell.

希望这可以帮助。