ios - 删除 UISegmentedControl 的框架

标签 ios objective-c ios7 uikit uisegmentedcontrol

iOS 7 中有没有办法完全删除 UISegmentedControl 的外框?所选片段应该只有一个色调颜色的矩形。

最佳答案

首先,创建三个图像并将它们添加到您的图像资源。

  • 空白(任意大小的透明 png)
  • 突出显示(任意颜色和大小的 png)
  • 选择(任意颜色和大小的 png)

Xcode Image Assets Catalog showing Blank, Highlight, and Select image sets added

然后添加以下代码:

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];

UISegmentedControl with clear background and no frame. Selected color is blue. Highlighted color is light blue.

关于ios - 删除 UISegmentedControl 的框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23975372/

相关文章:

ios - 如何使用 IOS 库将 xls 转换为 csv?

iOS 7 : different navigation items for tab bar controller

objective-c - UIVideoAtPathIsCompatibleWithSavedPhotosAlbum 在 iPhone 上部署时返回 false

iOS 6 MKMapview - 当前位置在模拟器中显示错误

ios - Xcode/IOS 中的 Crashlytics beta 分发版

ios - 呈现 View Controller 以模态方式重置当前 View

ios7 - ios 7+ 中的 GStreamer 编译错误

ios - 如何为 UITableView 部分页脚设置动画

ios - 使用 Pod 依赖项中的 IB_DESIGNABLE 实时渲染自定义组件

iphone - 将 ShareKit 添加到我的项目中,无法编译 - 4,448 错误