首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UISegmentedControl边界

UISegmentedControl边界
EN

Stack Overflow用户
提问于 2013-10-02 21:38:16
回答 2查看 6.3K关注 0票数 18

我想给一个UISegmentedControl提供以下几个方面:

请注意灰色背景视图和分段控件未选中项的白色背景。

但是,如果我给我的UISegmentedControl设置一个白色背景,我会得到以下结果:

请注意UISegmentedControl周围的白色方角。我该怎么做才能避开那些方形的角落呢?

先谢谢你,

编辑:如果我改变UISegmentedControl的层的角半径,如一个灰色的建议,结果会更好,但不完美(注意右边的白线):

EN

回答 2

Stack Overflow用户

发布于 2013-10-02 21:55:42

设置_segmentedControl.layer.cornerRadius = 5;可能会有所帮助。

更新:更复杂的裁剪矩形,去掉1px的右边空格:

代码语言:javascript
复制
    CAShapeLayer* mask = [[CAShapeLayer alloc] init];
    mask.frame = CGRectMake(0, 0, _segmentedControl.bounds.size.width-1, _segmentedControl.bounds.size.height);
    mask.path = [[UIBezierPath bezierPathWithRoundedRect:mask.frame cornerRadius:4] CGPath];
    _segmentedControl.layer.mask = mask;

更新: Matthias Bauch提供了一个很好的解释,为什么这个空白出现在UISegmentedControl的右侧。因此,删除它的最简单的方法是使线段具有固定的大小,并将它们调整为适当的宽度。

票数 16
EN

Stack Overflow用户

发布于 2013-10-02 23:16:03

我知道这是一种技巧,但你可以使用一个圆角的UIView,白色背景放在分段控件的正下方,并与之对齐,除了宽度应该等于原始控件的宽度减1。

结果:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19138252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档