移除 UISegmentedControl 的框架
Posted
技术标签:
【中文标题】移除 UISegmentedControl 的框架【英文标题】:Remove frame of UISegmentedControl 【发布时间】:2014-05-31 23:26:40 【问题描述】:ios 7 中有没有办法完全移除UISegmentedControl
的外框?所选片段应该只有一个色调颜色的矩形。
【问题讨论】:
我不这么认为...您可能需要子类化或使用按钮制作自己的按钮。 【参考方案1】:首先,创建三张图片并将它们添加到您的图片资源中。
空白(任意大小的透明 png) 高光(任意颜色和大小的 png) 选择(任意颜色和大小的 png)然后添加这段代码:
UIImage *backgroundImage = [UIImage imageNamed:@"Blank"];
UIImage *highlightedImage = [UIImage imageNamed:@"Highlight"];
UIImage *selectedImage = [UIImage imageNamed:@"Select"];
UIImage *dividerImage = [[UIImage alloc] init];
[segmentedControl setBackgroundImage:backgroundImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[segmentedControl setBackgroundImage:highlightedImage forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
[segmentedControl setBackgroundImage:selectedImage forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];
[segmentedControl setDividerImage:dividerImage forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
【讨论】:
我只是用同样的方法做的,只是在运行时创建了一个 1x1 像素的图像,而不是一个额外的资产。以上是关于移除 UISegmentedControl 的框架的主要内容,如果未能解决你的问题,请参考以下文章
UISegmentedControl去掉背景色与UIScrollView联动