2013-12-26 8 views
0

У меня есть два вида В viewController. Я не хочу использовать для них два xib-файла. Я хочу использовать их в одном xib. Теперь я хочу рассказать мнение, основанное на условии. Например, если, если условие правильно, я хочу отобразить 1-й вид, а второй. Я не знаю, как это сделать?Отображается на основе состояния

Я добавляю вторую точку зрения по этому пути, но он не показывает:

-(void)viewWillAppear:(BOOL)animated{ 
if([[[NSUserDefaults standardUserDefaults] valueForKey:@"service-provider"] boolValue]==1){ 
    [[MyAppDelegate.tabBar.tabBar.items objectAtIndex:1] setTitle:@"History"]; 
    self.title = @"History"; 
    self.view.hidden=YES; 
    self.ServiceProviderView.hidden=NO; 
    [self.ServiceProviderView addSubview:historyTable]; 
} 
else{ 
    [[MyAppDelegate.tabBar.tabBar.items objectAtIndex:1] setTitle:@"Search"]; 
    self.title = @"Search"; 
    self.view.hidden=NO; 
    self.ServiceProviderView.hidden=YES; 
    [self.view setUserInteractionEnabled:YES]; 
    searchLbl.font=[UIFont fontWithName:GZFont size:18.0f]; 
    headingLbl.font=[UIFont fontWithName:@"Garamond 3 SC" size:20.0f]; 
    NSMutableAttributedString *gpsSearch = [[NSMutableAttributedString alloc] initWithString:@"GPS Search"]; 
    [gpsSearch addAttribute:(NSString*)kCTUnderlineStyleAttributeName 
         value:[NSNumber numberWithInt:NSUnderlineStyleSingle] 
         range:(NSRange){0,[gpsSearch length]}]; 
    self.headingLbl.attributedText = gpsSearch; 
    self.headingLbl.textColor = [UIColor blackColor]; 
    btn_Favorite.titleLabel.font=[UIFont fontWithName:GZFont size:18.0f]; 
    btn_inviteUser.titleLabel.font=[UIFont fontWithName:GZFont size:18.0f]; 
    btn_locateNearBy.titleLabel.font=[UIFont fontWithName:GZFont size:18.0f]; 
    btn_scanBarCode.titleLabel.font=[UIFont fontWithName:GZFont size:18.0f]; 
    txtSearchUsername.font=[UIFont fontWithName:GZFont size:15.0f]; 
    txtSearchEstablishment.font=[UIFont fontWithName:GZFont size:15.0f]; 
} 
} 

Вот если первое условие выполнено, то serviceProviderView не displaying.I добавили эту точку зрения в XIb.

+0

да ............. – vivek

+0

, если (правильный) { [viewOne setHidden: NO]; [viewTwo setHidden: YES]; } else { [viewOne setHidden: YES]; [viewTwo setHidden: NO]; } – Ravindhiran

+0

убедитесь, что вы взяли 2 вида и все объекты, связанные с этим видом, и соответственно подчинены. то если условие истинно, установите view2.alpha = 0.0f; view1.alpha = 10.0f; и viseversa –

ответ

0

Создать ссылку на IBOutlets для этих двух видов. Используйте эту ссылку, чтобы скрыть или отобразить их. не

if(<condition>) 
{ 
    firstView.hidden = YES; 
} 
else 
{ 
    secondView.hidden = NO; 
} 
+0

Значения Когда vieedidLoad называется, я проверяю условие и на основании этого отображаю вид ??? – vivek

+0

yes ... like – vivek

+0

Да, вы можете сделать это в viewDidLoad. – san

Смежные вопросы