2011-08-02 4 views
0

私は、XCodeでボタンやラベルを隠すことができるように、セグメント化されたコントローラを隠そうとしました。上記の親のセグメント化されたコントローラに触れるときに隠されたり表示されたりすることを意図しています。このコードはボタンまたはラベルでも使用できます。セグメント化されたコントローラをどのように非表示にできますか?

mySegmContr.hidden = YES; 

ただし、セグメント化されたコントローラでは機能しません。あなたは私を助けることができます?

+0

私はそれが異なるとは思わない。これが機能するはずですので、mySegmContrがnilでないことを確認してください。 – NWCoder

+0

それがnilかどうかを確認するにはどうすればよいですか?それはデフォルトではゼロですか?私は自分のコードのどの行でもそれが無条件であると宣言しなかったからです。あなたの助けてくれてありがとう、私はこれに新しいです –

答えて

0

セグメントコントローラのプロパティを作成する場合は、位置を変更したり、サイズを変更したり、隠したりしたいと思うようなものを追加することができます。 "setMySegment" では上記必ずMである資本最初の文字を使用します:あなたの.mファイルでこの

UISegmentedControl *mySegment; 
@property (nonatomic, retain) UISegmentedControl *mySegment; 

-(void) createMySegment; 

この

@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];    
} 

} 

NOTEをあなたの.hファイルで

をしますか"mySegment"に それを隠す場合は、これを使用してください。 mySegmentを無効にしないでください。

[[self mySegment] setHidden:YES]; 
2

シンプルなUIViewを使用して、非表示にしたいものを置くことができます。 UIViewを隠すことができます

myView.hidden = YES; 

まだセグメント化されたコントロールを直接非表示にする方法はありませんでした。

関連する問題