你怎么能隐藏分段控制器?

时间:2011-08-02 17:31:14

标签: ios4 xcode4 hidden uisegmentedcontrol

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

mySegmContr.hidden = YES;

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

2 个答案:

答案 0 :(得分:2)

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

隐藏UIView
myView.hidden = YES;

我仍然没有办法直接隐藏分段控件。

答案 1 :(得分: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”,请确保使用大写的第一个字母,即“mySegment”中的M. 然后当你想隐藏它时使用它。不要去dealloc mySegment。

[[self mySegment] setHidden:YES];