2011-08-02 7 views
0

버튼이나 라벨이 XCode에서 숨겨져있는 것처럼 세그먼트 화 된 컨트롤러를 숨기려고했습니다. 위의 부모 세그먼트 컨트롤러를 만질 때 숨겨 지거나 표시되도록되어 있습니다. 이 코드는 버튼 또는 라벨과 함께 작동합니다.어떻게 세그먼트 화 된 컨트롤러를 숨길 수 있습니까?

mySegmContr.hidden = YES; 

하지만 세그먼트 화 된 컨트롤러에는 작동하지 않습니다. 너 나 좀 도와 줄 수있어?

+0

나는 그것이 다른 것으로 생각하지 않습니다. 이것이 작동해야하므로 mySegmContr이 nil이 아닌지 확인하십시오. – NWCoder

+0

그것이 nil인지 어떻게 확인합니까? 그것은 기본적으로 nil입니까? 왜냐하면 저는 제 코드의 어떤 라인에서도 무방하다고 선언하지 않았기 때문입니다. 도움을 주셔서 감사합니다. –

답변

0

세그먼트 컨트롤러의 속성을 만들면 크기를 변경하거나 크기를 조정하거나 숨기고 싶을 때처럼 더 많은 작업을 수행 할 수 있습니다. 위는 M입니다 자본 첫 글자를 사용 확인 "setMySegment"로 : 당신의 .H 파일에서

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

} 

주를 수행하여하는 .m 파일에서이

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

-(void) createMySegment; 

을 "mySegment"에 다음을 숨기려면 이것을 사용하십시오. mySegment를 해지하지 마십시오.

[[self mySegment] setHidden:YES]; 
2

나는 숨기고 싶은 것들을 넣는 간단한 UIView를 사용할 수 있다는 것을 알았습니다. 그런 다음 UIView를 숨길 수 있습니다.

myView.hidden = YES; 

여전히 세그먼트 화 된 컨트롤을 직접 숨길 방법이 없습니다.

관련 문제