美文网首页
更新xcode11后iOS13适配 UISegmentedCon

更新xcode11后iOS13适配 UISegmentedCon

作者: Mayer_Lee | 来源:发表于2019-09-25 15:47 被阅读0次

    之前项目中使用UISegmentedControl样式,修改了选中的样式,如图一

    图一

    在iOS13中 ,UISegmentedControl默认样式变为白底黑字,如图二

    图二

    解决方法:

    extension UISegmentedControl {

        public func ensureiOS12Style() {

            if#available(iOS13, *) {

                lettintColorImage =UIColor.white.asImage(CGSize.init(width:self.wk_size.width, height:self.wk_size.height))

                letDividerColorImage =UIColor.white.asImage(CGSize.init(width:1, height:self.wk_size.height))

                setBackgroundImage(UIColor.white.asImage(CGSize.init(width:self.wk_size.width, height:self.wk_size.height)), for: .normal, barMetrics: .default)

                setBackgroundImage(tintColorImage, for: .selected, barMetrics: .default)

                setBackgroundImage(tintColorImage, for: .highlighted, barMetrics: .default)

                setBackgroundImage(tintColorImage, for: [.highlighted, .selected], barMetrics: .default)

                setDividerImage(DividerColorImage, forLeftSegmentState: .normal, rightSegmentState: .normal, barMetrics: .default)

                setDividerImage(DividerColorImage, forLeftSegmentState: .selected, rightSegmentState: .selected, barMetrics: .default)

                self.apportionsSegmentWidthsByContent = true

                layer.borderColor = UIColor.white.cgColor

                layer.borderWidth=0

            }

        }

    }

    extension UIColor {

        publicfuncasImage(_size:CGSize) ->UIImage? {

            varresultImage:UIImage? =nil

            letrect =CGRect(x:0, y:0, width: size.width, height: size.height)

            UIGraphicsBeginImageContextWithOptions(rect.size, false, UIScreen.main.scale)

            guard let context = UIGraphicsGetCurrentContext() else {

                returnresultImage

            }

            context.setFillColor(self.cgColor)

            context.fill(rect)

            resultImage =UIGraphicsGetImageFromCurrentImageContext()

            UIGraphicsEndImageContext()

            returnresultImage

        }

    }

    相关文章

      网友评论

          本文标题:更新xcode11后iOS13适配 UISegmentedCon

          本文链接:https://www.haomeiwen.com/subject/amfwuctx.html