View 在视图底部设置RadiusCorner

View 在视图底部设置RadiusCorner,view,uiview,calayer,layer,cornerradius,View,Uiview,Calayer,Layer,Cornerradius,我有一个圆角的视野。 我想让它在视图的两个底角处变圆。 我该怎么做 这是我制作视图圆角的代码: CALayer *myLayer = moreInfoView.layer; [myLayer setCornerRadius:20.0]; [view.layer setMasksToBounds:YES]; 可能吗 谢谢 不要认为使用CALayer就可以轻松地完成这项工作-您可以将NSView子类化,并制作一个简单的重画例程。可能最容易用作起点(在删除两条不希望舍入的bezier路径后),然后执

我有一个圆角的视野。 我想让它在视图的两个底角处变圆。 我该怎么做

这是我制作视图圆角的代码:

CALayer *myLayer = moreInfoView.layer;
[myLayer setCornerRadius:20.0];
[view.layer setMasksToBounds:YES];
可能吗


谢谢

不要认为使用CALayer就可以轻松地完成这项工作-您可以将NSView子类化,并制作一个简单的重画例程。可能最容易用作起点(在删除两条不希望舍入的bezier路径后),然后执行简单的操作:

- (void)drawRect:(CGRect)rect
{
    self.layer.masksToBounds = NO;
    self.layer.shadowColor = [[UIColor xxxx] CGColor];
    self.layer.shadowOffset = CGSizeMake(0,2);
    self.layer.shadowRadius = ...
    self.layer.shadowOpacity = ...

    UIBezierPath *path = [UIBezierPath bezierPathWithPartiallyRoundedRect:rect
           byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSizeMake(20, 20)];
    [[UIColor blackColor] setFill or Stroke];

    [path stroke or fill];
}

在上面的链接中-第二个简化的示例使您的生活更轻松-因为您可以简单地将其中两个设置为“path lineToPoint:…”。

不要认为您可以轻松地使用CALayer实现这一点-您可以将NSView子类化并创建一个简单的重画例程。可能最容易用作起点(在删除两条不希望舍入的bezier路径后),然后执行简单的操作:

- (void)drawRect:(CGRect)rect
{
    self.layer.masksToBounds = NO;
    self.layer.shadowColor = [[UIColor xxxx] CGColor];
    self.layer.shadowOffset = CGSizeMake(0,2);
    self.layer.shadowRadius = ...
    self.layer.shadowOpacity = ...

    UIBezierPath *path = [UIBezierPath bezierPathWithPartiallyRoundedRect:rect
           byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSizeMake(20, 20)];
    [[UIColor blackColor] setFill or Stroke];

    [path stroke or fill];
}

在上面的链接中-第二个简化的示例使您的生活更轻松-因为您可以简单地将其中两个设置为“path lineToPoint:..”。

仅环绕
UIRectCornerBottomLeft
UIRectCornerBottomRight
拐角:

UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:yourView.bounds
                                           byRoundingCorners:(UIRectCornerBottomLeft | UIRectCornerBottomRight)
                                                 cornerRadii:CGSizeMake(5.0, 5.0)];

CAShapeLayer *layer = [CAShapeLayer layer];
layer.frame = yourView.bounds;
layer.path = path.CGPath;
yourView.layer.mask = layer;

仅将
UIRectCornerBottomLeft
UIRectCornerBottomRight
拐角处四舍五入:

UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:yourView.bounds
                                           byRoundingCorners:(UIRectCornerBottomLeft | UIRectCornerBottomRight)
                                                 cornerRadii:CGSizeMake(5.0, 5.0)];

CAShapeLayer *layer = [CAShapeLayer layer];
layer.frame = yourView.bounds;
layer.path = path.CGPath;
yourView.layer.mask = layer;

谢谢你,德克!但是我发现很难实施。。抱歉,我是所有xcode内容的新手:)我可以告诉你,我在xib文件上以图形方式创建了一个视图,该视图的变量名为“moreInfoView”。你能想象我怎么做吗?谢谢汉克斯·德克!但是我发现很难实施。。抱歉,我是所有xcode内容的新手:)我可以告诉你,我在xib文件上以图形方式创建了一个视图,该视图的变量名为“moreInfoView”。你能想象我怎么做吗?谢谢