【问题标题】:Change textColor in UISegmentedcontrol更改 UISegmentedcontrol 中的 textColor
【发布时间】:2011-05-01 05:34:32
【问题描述】:

我使用下面的代码更改 UISegmentedcontrol 中每个分段的 textcolor 我如何更改特定段的 textcolor?(例如索引 2 处的段)

for (id seg in [segment subviews]) 
     for (id label in [seg subviews]) 
        if ([label isKindOfClass:[UILabel class]])
                [label setTextColor:[UIColor redColor]];

【问题讨论】:

    标签: iphone xcode uisegmentedcontrol ios4


    【解决方案1】:

    据我所知,没有基于自定义的解决方案。但是您可以将图像用于必要的片段 (setImage:forSegmentAtIndex:) 或查看以下内容: http://matteocaldari.it/2010/05/a-uisegmentedcontrol-with-custom-color(作者继承了 UISegmentedControl 并在覆盖的 drawRect: 方法中实现了自定义绘图)。

    【讨论】:

      【解决方案2】:

      我使用下面的代码来解决这个问题

      int eg=0;
          for (id seg in [sg subviews]) 
          {
              int gg=sg.selectedSegmentIndex;
              if(gg==2)
                  gg=0;
              else if(gg==0)
                  gg=2;
              if(eg==gg && eg!=1)
              {
                  for (id label in [seg subviews]) 
                      if ([label isKindOfClass:[UILabel class]])
                      {
                          [label setTextAlignment:UITextAlignmentCenter];
                          [label setFont:[UIFont boldSystemFontOfSize:12]];
                          [label setTextColor:[UIColor colorWithRed:0.325 green:0.565 blue:0.788 alpha:1]];
                      }//if
              }//if
              else if(eg==1)
              {
                  for (id label in [seg subviews]) 
                      if ([label isKindOfClass:[UILabel class]])
                      {
                          [label setTextAlignment:UITextAlignmentCenter];
                          [label setFont:[UIFont boldSystemFontOfSize:11]];
                          [label setTextColor:[UIColor grayColor]];   
                      }//if
              }//else if
              else
              {
                  for (id label in [seg subviews]) 
                      if ([label isKindOfClass:[UILabel class]])
                      {
                          [label setTextAlignment:UITextAlignmentCenter];
                          [label setFont:[UIFont boldSystemFontOfSize:11]];
                          [label setTextColor:[UIColor colorWithRed:0.888 green:0.888 blue:0.888 alpha:1]];   
                      }//if
              }//else
              eg++;
          }//for
      

      【讨论】:

        猜你喜欢
        • 2011-07-30
        • 1970-01-01
        • 2020-06-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-08
        • 2012-04-19
        相关资源
        最近更新 更多