【问题标题】:Remove white squares around text in UISegmentedControl删除 UISegmentedControl 中文本周围的白色方块
【发布时间】:2014-04-20 02:35:28
【问题描述】:

在IOS7下,我在interface builder中定义了一个UISegmentedControl,并使用如下代码进行自定义:

 segconOptions.layer.cornerRadius = 20.0;
 segconOptions.layer.masksToBounds = YES;

 //[segconOptions setTintColor:[UIColor whiteColor]];
 [segconOptions setTintColor:[UIColor blueColor]];  //temp change for graphics issue

 [segconOptions setBackgroundColor:[UIColor clearColor]];
 [segconOptions setAlpha:1.0];

 [segconOptions setBackgroundImage:[UIImage imageNamed:@"blue.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
 [segconOptions setBackgroundImage:[UIImage imageNamed:@"yellow.png"] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];

我希望文本出现在背景图像上(蓝色上的白色文字,黄色上的红色文字)。然而,相反,在文本周围有这些大方块。我将未选定单元格的字体颜色更改为蓝色,以使此屏幕截图中的文本可读:

如何在我的自定义背景图像上显示按钮标题文本,而文本周围没有这些白框?我想我遗漏了一些明显的东西,但我整天都在寻找,却一无所获。提前致谢!

【问题讨论】:

    标签: ios objective-c ios7 uisegmentedcontrol


    【解决方案1】:

    我只能认为问题在于您对分段控件执行了一些不寻常的操作。当我设置分段控件的背景图像并设置分段的标题时,我没有得到任何白色矩形 - 请参阅随附的屏幕截图。

    我试图模仿你的代码(注意圆角),但我找不到任何白色矩形。也许白色矩形是您的blue.png 图像的一部分! (请注意,您应该在这里使用可调整大小的图像。)

    【讨论】:

    • 那也行不通。图像出现在每个片段的中间,周围有相同的白色方块。无论如何,这并不是一个可行的解决方法,因为 setImage 调用随后会隐藏按钮文本。
    • 好的,我已经删除了那个答案并给出了一个新答案。正如您从屏幕截图中看到的那样,我没有看到任何白色方块,所以我不得不认为您以某种方式导致了它们。
    • 感谢您确认我的预期行为确实正确。经过大量实验,结果证明我使用的背景图像存在一些问题。我用两个新图像替换了它们,现在它可以正常工作了。 >
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-23
    • 1970-01-01
    • 2016-02-21
    • 2017-05-21
    • 2019-11-05
    • 2018-04-21
    • 2017-10-28
    相关资源
    最近更新 更多