2012-01-30 22 views
0

viewDidLoad中段控制沒有得到選擇或高亮

v1 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)]; 
v2= [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)]; 

//然後我添加componants到兩方面的觀點。

爲V1,I添加幾個textfileds和按鈕 爲V2,我添加多個標籤,和一個圖像

並以相同的viewDidLoad方法我添加細分控制器向navigationcontroller;

segment = [[UISegmentedControl alloc] initWithFrame:CGRectMake(x,y, height,width)];   
segment .segmentedControlStyle = UISegmentedControlStylePlain; 
[segment insertSegmentWithTitle:@"first" atIndex:0 animated:NO]; 
[segment insertSegmentWithTitle:@"second" atIndex:1 animated:NO]; 
[segment setSelectedSegmentIndex:0]; 
segment .momentary = YES; 
[segment addTarget:self action:@selector(segmentclicked:) forControlEvents:UIControlEventValueChanged]; 
segmentControllerView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 300.0, 50.0)]; 
segmentControllerView .autoresizingMask = 0; 
[segmentControllerView addSubview:segment ]; 
self.navigationItem.titleView = segmentControllerView ; 

現在在;

-(void)segmentclicked:(id)sender { 
if ((((UISegmentedControl *)sender).selectedSegmentIndex) == 0) { 
    [v1 setHidden:YES]; 
    [v2 setHidden:NO]; 

    [self.view addSubview:self.v1]; 
    [loginSignupSegment setSelectedSegmentIndex:0]; <<<<<<<<< 
    [segment addSubview:segment]; 
    self.navigationItem.titleView = segmentControllerView; 
} else { 
    //toggle the correct view to be visible 
    [v2 setHidden:YES]; 
    [v1 setHidden:NO];  

    [self.view addSubview:self.v2]; 
    [segment setSelectedSegmentIndex:1]; <<<<<<<<<<<<<<<< 
    [segmentControllerView addSubview:segment]; 
    self.navigationItem.titleView = segmentControllerView; 
}} 

什麼hapence是,當我切換視圖,我沒有得到尊重的視圖段高亮(我做了它的代碼,但它不是炫耀) - 看到<<<<<<<中的代碼。

我該如何解決這個問題?

回答

1

我不認爲你的代碼是這樣做的最好方法。但我不知道所有的項目。 對於解決它刪除

segment.momentary = YES; 

和替換 - (空)segmentclicked:(ID)發信人:

-(void)segmentclicked:(id)sender { 
    if ((((UISegmentedControl *)sender).selectedSegmentIndex) == 0) { 
     [v1 setHidden:YES]; 
     [v2 setHidden:NO]; 

     [self.view addSubview:v1]; 
     [segment setSelectedSegmentIndex:0]; 
    } else { 
     //toggle the correct view to be visible 
     [v2 setHidden:YES]; 
     [v1 setHidden:NO];  

     [self.view addSubview:v2]; 
     [segment setSelectedSegmentIndex:1]; 
} 

}

希望這有助於你。