【问题标题】:Remove frame of UISegmentedControl移除 UISegmentedControl 的框架
【发布时间】:2014-05-31 23:26:40
【问题描述】:

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

【问题讨论】:

  • 我不这么认为...您可能需要子类化或使用按钮制作自己的按钮。

标签: ios objective-c ios7 uikit 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 像素的图像,而不是一个额外的资产。
猜你喜欢
  • 1970-01-01
  • 2012-04-03
  • 1970-01-01
  • 1970-01-01
  • 2019-04-30
  • 2017-03-27
  • 1970-01-01
  • 1970-01-01
  • 2017-11-14
相关资源
最近更新 更多