iOS 13 - UISegmentedControl - 如何更改 selectedSegment 的圆角半径?

Posted

技术标签:

【中文标题】iOS 13 - UISegmentedControl - 如何更改 selectedSegment 的圆角半径?【英文标题】:iOS 13 - UISegmentedControl - How do you change the corner radius of the selectedSegment? 【发布时间】:2019-11-25 03:18:24 【问题描述】:

关于 UISegmentedControl 上的 ios 13 更新:

此自定义 UISegmentedControl 类将分段控件的角变圆。但它不会圆化所选控件的角(仍具有默认角半径)。这使它看起来很奇怪,尤其是当您在分段控件上有边框时:

class SegmentedControl: UISegmentedControl 
      override func layoutSubviews() 
        super.layoutSubviews()

        layer.cornerRadius = 20
        layer.masksToBounds = true
        clipsToBounds = true
     

在你可以只做segmentedControl.layer.cornerRadius = 20 之前它会适用于所有事情,但你不能再这样做了。

有人知道吗?

【问题讨论】:

你说的是哪一端?圆角半径似乎在起作用,你能附上一张关于你的样子的图片吗? 【参考方案1】:

UISegmentControl 不会公开任何更改的内部子视图。您可以使用自定义分段控件,该控件将为自定义提供更多选项。这是 Github 上搜索的第一个建议结果的示例:https://github.com/sasojadrovski/SJFluidSegmentedControl

【讨论】:

以上是关于iOS 13 - UISegmentedControl - 如何更改 selectedSegment 的圆角半径?的主要内容,如果未能解决你的问题,请参考以下文章

iOS 13设置 tabbar字体

iOS13.6越狱有望/iOS13.6以及iOS12.4.8推送更新/苹果加入新人权Emoji表情

iOS 13.6 降级 13.4.1 系统,FilzaEscaped 进展

iOS13系统UITabBar

iOS 13.5.1iOS 12.4.7 验证关闭,用户无法刷机

iOS 13.6 续航对比出炉,成绩垫底/ iPhone 12 电池容量曝光/ iOS 13.5.1 验证关闭