【问题标题】:How can you hide a segmented controller?如何隐藏分段控制器?
【发布时间】:2011-08-02 17:31:14
【问题描述】:

我尝试隐藏分段控制器,就像按钮或标签可以隐藏在 XCode 中一样。当触摸上面的父分段控制器时,它会被隐藏/显示。此代码适用于按钮或标签:

mySegmContr.hidden = YES;

但它不适用于分段控制器。你能帮帮我吗?

【问题讨论】:

  • 我不相信这有什么不同。请检查 mySegmContr 是否不为零,因为这应该可以工作。
  • 我如何检查它是否为零?默认情况下它是 nil 吗?因为我没有在我的任何代码行中声明它为零。感谢您的帮助,您知道我是新手

标签: ios4 xcode4 hidden uisegmentedcontrol


【解决方案1】:

我发现你可以使用一个简单的 UIView 来放置你想要隐藏的东西。然后可以隐藏 UIView

myView.hidden = YES;

我还是找不到直接隐藏分段控件的方法。

【讨论】:

    【解决方案2】:

    如果你为段控制器创建一个属性,你可以用它做更多的事情,比如改变它的位置,调整它的大小并想要隐藏它。

    在您的 .h 文件中执行此操作

    UISegmentedControl *mySegment;
    @property (nonatomic, retain) UISegmentedControl *mySegment;
    
    -(void) createMySegment;
    

    在您的 .m 文件中执行此操作

    @synthesize mySegment;
    
    
    - (void) createMySegment     {  
    if ([self mySegment] == nil) {      
        NSArray *buttons = [NSArray arrayWithObjects:@"One", @"Two", @"Three", nil];
        UISegmentedControl *segName = [[UISegmentedControl alloc] buttons];  
        [self setMySegment:segName];
        [segName release]; 
        segName.frame = CGRectMake(110, 62, 120, 25);           
        segName.segmentedControlStyle = UISegmentedControlStyleBar;
        segName.momentary = NO;
        segName.selectedSegmentIndex = 0;
        [segName addTarget:self
                    action:@selector(pickMethod:)
          forControlEvents:UIControlEventValueChanged];
        [self.view addSubview:segName];             
    } 
    
    }
    

    注意:对于上面的“setMySegment”,请确保在“mySegment”中使用大写的首字母 M。 然后当你想隐藏它时使用它。不要 get 释放 mySegment。

    [[self mySegment] setHidden:YES];
    

    【讨论】:

      猜你喜欢
      • 2015-09-17
      • 1970-01-01
      • 2011-07-13
      • 2016-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-28
      相关资源
      最近更新 更多