当我为所有状态设置背景图像时,为什么UISegmentControl段在iOS 8中突出显示?

阿塞

在iOS 6/7中,我使用UISegmentedControl背景图像来创建如下效果:

定制的UISegmentedControl

我通过UISegmentedControl为每个标准状态设置背景图片来完成此操作,如下所示:

UIImage *segmentedControlBackgroundImage = [UIImage imageNamed:@"profileSegmentedControlBackground"];
UIImage *segmentedControlBackgroundSelectedImage = [UIImage imageNamed:@"profileSegmentedControlBackgroundSelected"];

[self.segmentedControl setBackgroundImage:segmentedControlBackgroundImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[self.segmentedControl setBackgroundImage:segmentedControlBackgroundImage forState:UIControlStateDisabled barMetrics:UIBarMetricsDefault];
[self.segmentedControl setBackgroundImage:segmentedControlBackgroundSelectedImage forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
[self.segmentedControl setBackgroundImage:segmentedControlBackgroundSelectedImage forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];

当一个段变为选中或突出显示时,它下面具有漂亮的蓝色条,并且我设置了文本属性以将文本颜色更改为蓝色。除法器还有一些额外的代码,但是我认为这是无关的,因此我将其省略。

我的问题是,在iOS 8中,有一些动作会导致该段的背景变灰并且看起来很糟糕。一种是当您更改选择时,您点击的单元格将变成灰色,直到过渡完成为止,另一种是,如果您点击并按住一个已选择的段,它将变成灰色。两者看起来相同,可以在下面看到。

UISegmentedControl具有奇怪的突出显示

一些可能相关的信息:

  • tintColor为segmentedControl清晰
  • 我不是子类 UISegmentedControl
  • 我没有更改任何UISegmentedControl使用其外观代理的属性
  • 我正在使用1点宽的图像作为背景图像,UISegmentedControl并自动确定capInsets并平铺图像
格雷姆·亚瑟

该段在选择一个已选择的段时变成灰色的原因是,该段控件缺少同时处于选中状态和突出显示状态。

在您的情况下,请致电:

[self.segmentedControl setBackgroundImage:segmentedControlBackgroundSelectedImage forState:UIControlStateSelected | UIControlStateHighlighted barMetrics:UIBarMetricsDefault];

应该解决这个问题。

当您更改选择时,您点击的单元格将变为灰色,直到过渡完成

我无法重现该问题,但是也许可以解决这两个问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

UITextView文本选择和突出显示iOS 8中的跳转

来自分类Dev

为什么没有显示我的背景图像?

来自分类Dev

HorizontalContentAlign =“ Stretch”并更改列表框Windows Phone 8中的突出显示背景颜色

来自分类Dev

如何在Netbeans 8中为* .handlebars文件启用语法突出显示

来自分类Dev

如何在Netbeans 8中为* .handlebars文件启用语法突出显示

来自分类Dev

在Windows Phone 8中选择任何值时,下拉框上的蓝色突出显示

来自分类Dev

在Windows Phone 8中选择任何值时,下拉框上的蓝色突出显示

来自分类Dev

iOS 8-设置状态栏颜色(当您的UINavigationBar具有零背景图像时)

来自分类Dev

在solr 1.4中突出显示时显示所有查询

来自分类Dev

为什么IE(特别是IE8)没有在已禁用的多选框中突出显示选中的选项?

来自分类Dev

在Android Studio中禁用背景突出显示

来自分类Dev

代码块中的背景突出显示文本?

来自分类Dev

在vim中设置垂直突出显示的行

来自分类Dev

突出显示iOS中的搜索文本

来自分类Dev

在Tkinter中单击时突出显示文本

来自分类Dev

选中时导航栏中的UIBarButtonItem突出显示,但工具栏中的UIBarButtonItem不突出显示

来自分类Dev

在标签栏中设置自定义图标以突出显示/不突出显示

来自分类Dev

如何在 vim 中突出显示类方法,而不突出显示具有 python 语法的属性?

来自分类Dev

为什么当我在带有json数组的PHP中设置cookie时,是否显示%sign?

来自分类Dev

为Vim中的文本设置交替的突出显示颜色?

来自分类Dev

为什么当我只点击一个链接时,所有链接都显示为已访问?

来自分类Dev

为什么我的所有者数据列表视图状态图像在Windows XP上显示为空白?

来自分类Dev

我可以在Gedit中设置默认语法突出显示吗?

来自分类Dev

我可以在Gedit中设置默认语法突出显示吗?

来自分类Dev

突出显示时在datagrid中设置超链接颜色

来自分类Dev

为什么Scala`var`在Eclipse中以红色突出显示

来自分类Dev

为什么TODO总是在vim中突出显示?

来自分类Dev

为什么行突出显示在 vim 中不起作用?

来自分类Dev

如何突出显示Xcode中相同变量的所有出现?

Related 相关文章

  1. 1

    UITextView文本选择和突出显示iOS 8中的跳转

  2. 2

    为什么没有显示我的背景图像?

  3. 3

    HorizontalContentAlign =“ Stretch”并更改列表框Windows Phone 8中的突出显示背景颜色

  4. 4

    如何在Netbeans 8中为* .handlebars文件启用语法突出显示

  5. 5

    如何在Netbeans 8中为* .handlebars文件启用语法突出显示

  6. 6

    在Windows Phone 8中选择任何值时,下拉框上的蓝色突出显示

  7. 7

    在Windows Phone 8中选择任何值时,下拉框上的蓝色突出显示

  8. 8

    iOS 8-设置状态栏颜色(当您的UINavigationBar具有零背景图像时)

  9. 9

    在solr 1.4中突出显示时显示所有查询

  10. 10

    为什么IE(特别是IE8)没有在已禁用的多选框中突出显示选中的选项?

  11. 11

    在Android Studio中禁用背景突出显示

  12. 12

    代码块中的背景突出显示文本?

  13. 13

    在vim中设置垂直突出显示的行

  14. 14

    突出显示iOS中的搜索文本

  15. 15

    在Tkinter中单击时突出显示文本

  16. 16

    选中时导航栏中的UIBarButtonItem突出显示,但工具栏中的UIBarButtonItem不突出显示

  17. 17

    在标签栏中设置自定义图标以突出显示/不突出显示

  18. 18

    如何在 vim 中突出显示类方法,而不突出显示具有 python 语法的属性?

  19. 19

    为什么当我在带有json数组的PHP中设置cookie时,是否显示%sign?

  20. 20

    为Vim中的文本设置交替的突出显示颜色?

  21. 21

    为什么当我只点击一个链接时,所有链接都显示为已访问?

  22. 22

    为什么我的所有者数据列表视图状态图像在Windows XP上显示为空白?

  23. 23

    我可以在Gedit中设置默认语法突出显示吗?

  24. 24

    我可以在Gedit中设置默认语法突出显示吗?

  25. 25

    突出显示时在datagrid中设置超链接颜色

  26. 26

    为什么Scala`var`在Eclipse中以红色突出显示

  27. 27

    为什么TODO总是在vim中突出显示?

  28. 28

    为什么行突出显示在 vim 中不起作用?

  29. 29

    如何突出显示Xcode中相同变量的所有出现?

热门标签

归档