我使用以下代码创建了一个矩形,现在我需要舍入这个矩形的角.但是我找不到一个名为layer.cornerRadius的属性,有人可以帮帮我吗?
class OvalLayer: CAShapeLayer {
let animationDuration: CFTimeInterval = 0.3
override init() {
super.init()
fillColor = Colors.green.CGColor
path = ovalPathSmall.CGPath
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
var ovalPathStart: UIBezierPath {
let path = UIBezierPath(ovalInRect: CGRect(x: 0.0, y: 0.0, width: 100.0, height: 100.0))
return path
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个按钮说myButton。我想以编程方式设置按钮的左上角半径。我正在寻找类似的东西
myButton.setTopLeftCornerRadius(10);
Run Code Online (Sandbox Code Playgroud)
我在 eclipse 中寻找了一种像“setcornerradius”这样的方法,但一无所获。
我有一个名为父亲的UIView.内部父级嵌套了两个名为Child1和Child2的UIView.(见图)

注意:没有边距,即0个边距,包括Child1,Child2和Parent.
我试图围绕父母的角落.
parentView.layer.cornerRadius = 10
Run Code Online (Sandbox Code Playgroud)
这并没有围绕孩子们的角落.(见图)
该顶部边角都没有最终得到全面这里.底角是圆角的,因为Child2是透明的,而Child1是彩色的.父母是白色的.
到目前为止我尝试过的:
parentView.layer.cornerRadius = 10
child1.clipsToBounds = true
Run Code Online (Sandbox Code Playgroud)
没运气
parentView.layer.cornerRadius = 10
let maskLayer = CAShapeLayer()
maskLayer.path = UIBezierPath(roundedRect: view.bounds, byRoundingCorners: [.topLeft, .topRight], cornerRadii: CGSize(width: 10, height: 10)).cgPath
child1.layer.mask = maskLayer
Run Code Online (Sandbox Code Playgroud)
仍然没有运气
请帮帮我
我将角半径应用于视图的左上角和右上角.在viewDidLoad()我有:
if #available(iOS 11.0, *) {
view.layer.cornerRadius = 20.0
view.layer.maskedCorners = [.layerMinXMinYCorner, .layerMaxXMinYCorner]
}
Run Code Online (Sandbox Code Playgroud)
如果iOS 11不可用,最佳方式似乎就是这样做draw(_ rect:).由于我必须在外面覆盖它viewDidLoad(),我想做以下事情
if NOT #available(iOS 11.0, *) {
override func draw(_ rect: CGRect) {
let maskPath = UIBezierPath(roundedRect: self.contentView.bounds, byRoundingCorners: [.topLeft, .topRight], cornerRadii: CGSize(width: 20.0, height: 20.0))
let shapeLayer = CAShapeLayer()
shapeLayer.frame = self.bounds
shapeLayer.path = maskPath.cgPath
view.layer.mask = shapeLayer
}
}
Run Code Online (Sandbox Code Playgroud)
当然,它在语法上是不正确的.我该怎么办?
我使用 @IBInspectable 创建 UIView 扩展来设置角半径,但是当我旋转设备时它无法正常工作
import UIKit
import Foundation
extension UIView {
@IBInspectable
var cornerRadius: CGFloat {
get {
return layer.cornerRadius
}
set {
layer.cornerRadius = newValue
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的目标是将模态呈现的控制器的角半径增加到 25。正如您在图片中看到的,默认情况下它具有圆角,但我需要它们具有更大的半径。我尝试通过访问控制器视图来圆角,但它不起作用。
view.layer.cornerRadius = 25
Run Code Online (Sandbox Code Playgroud)
我在苹果文档中没有找到任何提及它,有什么办法让它工作吗?这可能吗?
我有一些有趣的通知上滚动性能UITableView与cornerRadius,borderWidth并borderColor启用.
self.tableView.layer.cornerRadius = 10.f;
self.tableView.layer.borderWidth = 1.0f;
self.tableView.layer.borderColor = [UIColor whiteColor].CGColor;
Run Code Online (Sandbox Code Playgroud)
如果我删除borderWidth和borderColor滚动得到60 FPS没问题.只要我将这两个属性添加到图层FPS滴.
有没有人有这样的奇怪行为发生的建议或解释?
非常感谢!
我想制作一个圆形的UIButton但是具有光线模糊效果和活力,因为它的背景
到目前为止,我已经有了一个圆形的UIButton,但我在网上找到的代码(我是iOS新手,我不是很了解模糊等是如何工作的)添加模糊只是将它作为整个按钮的框架,基本上使按钮再次显示为方形.
我也尝试添加一个视图,然后是UIButton,然后是模糊效果,并将cornerRadius代码应用于该视图,但它也无效.
这是我尝试过的:
shortcutButton.layer.cornerRadius = 0.5 * shortcutButton.bounds.size.width // add the round corners in proportion to the button size
let blur = UIVisualEffectView(effect: UIBlurEffect(style:
UIBlurEffectStyle.Light))
blur.frame = shortcutButton.bounds
blur.userInteractionEnabled = false //This allows touches to forward to the button.
shortcutButton.insertSubview(blur, atIndex: 0)
Run Code Online (Sandbox Code Playgroud) 我有一个UIView自定义设置UITableViewCell,我想仅在该视图的左下角和右下角四舍五入。我正在执行以下操作,但无法正常工作:
- (void)awakeFromNib {
// Initialization code
CAShapeLayer * maskLayer = [CAShapeLayer layer];
maskLayer.path = [UIBezierPath bezierPathWithRoundedRect: _viewForTags.bounds byRoundingCorners: UIRectCornerBottomLeft | UIRectCornerBottomRight cornerRadii: (CGSize){7.0, 7.0}].CGPath;
_viewForTags.layer.mask = maskLayer;
}
Run Code Online (Sandbox Code Playgroud)
我通常在通常的View Controllers中通过该viewWillLayoutSubviews方法来实现此目的,并且效果很好,但是当我继承子类时就没有这种方法了UITableViewCell。
知道如何在子类中圆化视图的2个角UITableViewCell吗?
我正在以UILabel编程方式创建.但下面的代码并没有给我圆角.我想我错过了一些非常基本的东西.
var textLabel:UILabel? = UILabel()
textLabel?.text = text
textLabel?.frame = CGRect(x:point.x, y:point.y, width:(textLabel?.intrinsicContentSize.width)!, height:15)
textLabel?.backgroundColor = UIColor.white
textLabel?.font = UIFont(name:"OpenSans", size:8)
textLabel?.sizeToFit()
textLabel?.layer.cornerRadius = 20.0
Run Code Online (Sandbox Code Playgroud)
有谁能指出我正确的方向?
cornerradius ×10
ios ×8
swift ×5
uiview ×3
uitableview ×2
android ×1
button ×1
cashapelayer ×1
iphone ×1
objective-c ×1
scroll ×1
swift2 ×1
swift3 ×1
swift4 ×1
uibezierpath ×1
uiblureffect ×1
uibutton ×1
uilabel ×1