2011-08-02 51 views
0

我试图隐藏一个分段控制器就像一个按钮或标签可以隐藏在XCode中。当触摸上面的父级分段控制器时,它的目的是隐藏/显示。此代码将与按钮或标签一起工作:如何隐藏分段控制器?

mySegmContr.hidden = YES; 

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

+0

我不相信它有什么不同。请检查mySegmContr不是零,因为这应该工作。 – NWCoder

+0

我该如何检查它是否为零?默认情况下它是否为零?因为我没有在我的代码的任何一行中声明它为零。感谢您的帮助,您看到我是新手 –

回答

0

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

在您的.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”上述确保您使用一个大写首字母分别为M在“mySegment”中。 然后当你想隐藏它使用这个。不要去dealloc mySegment。

[[self mySegment] setHidden:YES]; 
2

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

myView.hidden = YES; 

仍然我发现没有办法直接隐藏分段控制。