保留UIButton的圆边

时间:2016-04-06 20:15:08

标签: ios swift2

试图保持“圆度”'用户旋转设备时的UIButton:

func resizeButtons() {


        startButton.layer.masksToBounds = true
        startButton.layer.cornerRadius = self.startButton.frame.size.width / 2
        startButton.layer.borderColor = UIColor.blackColor().CGColor
        startButton.layer.borderWidth = 1.0

    }

override func didRotateFromInterfaceOrientation(fromInterfaceOrientation: UIInterfaceOrientation) {


        switch UIDevice.currentDevice().orientation{
        case .Portrait:
             self.resizeButtons()
        case .PortraitUpsideDown:
           self.resizeButtons()
        case .LandscapeLeft:
             self.resizeButtons()
        case .LandscapeRight:
             self.resizeButtons()
        default:
            print("default")
        }

    }

我正在使用自动布局和StoryBoards(按钮宽高比1:1,纵横比按钮到容器视图1:3,按钮中心水平和垂直于容器)。

结果有点麻烦和丑陋'当设备旋转时,UIButton变成圆角矩形,然后是整圆。

1 个答案:

答案 0 :(得分:-1)

您是否尝试过将cornerRadius设置为静态变量?每次旋转时,框架宽度都会改变,从而使其成为圆形或圆角矩形。我首选的cornerRadius值为5,例如 button.layer.cornerRadius = 5

每次方向改变时我都不会调用调整大小。只需在viewDidLoad()中设置变量并将其称为一天

修改 对于一个圆圈:

enter image description here

那就是UIButton。它以视图为中心,但这无关紧要。