Jos*_*eph 21 cornerradius uisegmentedcontrol ios ios5
我想用子类修改UISegmentedControl来删除圆角.我似乎无法设置cornerRadius.使SegmentedControl比屏幕更宽(因此从角落"切掉")不是一种选择,因为我有4或5个段,然后它们的大小会有所不同.
有没有办法做到这一点?
谢谢
swa*_*nan 36
要制作角落方形,请使用以下代码:
segmentContrl.layer.borderColor=*anycolor*.CGColor;
segmentContrl.layer.cornerRadius = 0.0;
segmentContrl.layer.borderWidth = 1.5f;
Run Code Online (Sandbox Code Playgroud)
jos*_*hap 11
只需使用内置的自定义方法,并为每个段状态设置背景图像.这将完全覆盖边框.如果背景图像是方形的,那么您的分段控件将显示为方形.对要自定义的每个段状态使用以下代码.
[segmentedControl setBackgroundImage:[UIImage imageNamed:@"square-background-image-selected"]
forState:UIControlStateSelected
barMetrics:UIBarMetricsDefault];
您可以设置线段的宽度(使用setWidth:forSegmentAtIndex :),这样您就可以轻松地使左右端段比其他段更大(比大10px更大),然后您可以从任一端裁剪10px并具有方角.您不必使其大于屏幕宽度,而是将其放在UIView中并使用它来裁剪末端.
另一方面,只需使用UIControl中的一组自定义UIButton进行自己的分段控制.
小智 5
在界面构建器中完成此操作的另一种方法
将UIView对象拖到UIViewController,这可能是您的UIView的子视图.
将UISegmentedControl拖动为UIView的子视图.现在应该在列表UIViewController对象中缩进分段控件.(见下面的截图).
调整SegementedControl的大小,使其"框架"超出UIView对象的边界.在我的例子中,我将SegementedControl的框架设置为X = -10并将+20添加到SegementedControl的宽度,以便分割控件的总宽度因为比UIView对象大20.(希望下面的屏幕截图有帮助).
我还调整了UIView对象和SegmentedControl的以下设置:UIView:选中Clip SubViews,取消选中AutoResize子视图.SegementedControl:取消选中Clip SubViews,取消选中AutoResize子视图.

| 归档时间: |
|
| 查看次数: |
18140 次 |
| 最近记录: |