How to set backgroundColor of UISegmentedControl to white in iOS 13

后端 未结 4 1241
温柔的废话
温柔的废话 2021-02-05 07:08

iOS 13 introduced some changes to the UISegmentedControl including a really nice animation when switching the selected segment. However I\'m noticing that it\'s not displaying t

4条回答
  •  醉话见心
    2021-02-05 08:05

    I have the same issue and there is no cool way to resolve it. So I did this small workaround. I dont like it and I am not proud of it, but it works.

    func fixBackgroundSegmentControl( _ segmentControl: UISegmentedControl){
        if #available(iOS 13.0, *) {
            //just to be sure it is full loaded
            DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { 
                for i in 0...(segmentControl.numberOfSegments-1)  {
                    let backgroundSegmentView = segmentControl.subviews[i]
                    //it is not enogh changing the background color. It has some kind of shadow layer 
                    backgroundSegmentView.isHidden = true 
                }
            }
        }
    }
    

提交回复
热议问题