Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在Xcode中仅使按钮的两个角变圆?_Ios_Swift_Xcode_Button - Fatal编程技术网

Ios 如何在Xcode中仅使按钮的两个角变圆?

Ios 如何在Xcode中仅使按钮的两个角变圆?,ios,swift,xcode,button,Ios,Swift,Xcode,Button,我有一个按钮,它在所有四个角落都是圆角的,因为我使用了用户定义的运行时属性面板使其圆角。。。但是一旦运行了这个应用程序,我发现如果右边是圆形,左边是正方形,按钮会更好。我有办法做到这一点吗?我正在使用Xcode 9.1和Swift 4。您所需要的只是 let path = UIBezierPath(roundedRect: self.testButton.bounds, byRoundingCorners:[.topRight, .bottomRight], cornerRadii: C

我有一个按钮,它在所有四个角落都是圆角的,因为我使用了用户定义的运行时属性面板使其圆角。。。但是一旦运行了这个应用程序,我发现如果右边是圆形,左边是正方形,按钮会更好。我有办法做到这一点吗?我正在使用Xcode 9.1和Swift 4。

您所需要的只是

    let path = UIBezierPath(roundedRect: self.testButton.bounds, byRoundingCorners:[.topRight, .bottomRight], cornerRadii: CGSize(width: 10, height: 10))
    let maskLayer = CAShapeLayer()
    maskLayer.frame = self.testButton.bounds
    maskLayer.path = path.cgPath
    self.yourButton.layer.mask = maskLayer
O/p将看起来像

你说

我看到,只要把右边的按钮打开,按钮就更好了 四舍五入,左边正好是正方形

没有明确提到的是,右上角和右下角是否都是圆角,所以我冒昧地想象了一下。您可以通过修改

[.topRight, .bottomRight]

我在上述代码中指定的值

您需要使用智能苹果工程师提供的UIBezierPath API。创建一个类作为UIButton的子类,在故事板中为您的按钮提供该类。然后用画法做你的设计。