Search code examples
objective-cxcodeios4

create and hide UILabel


I created a UILabel programatically and triggering a button I would like to hide the same label. This is my code:

UILabel *nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 100, 320, 100)];
nameLabel.text = @"TEXT";
nameLabel.backgroundColor = [UIColor greenColor];
nameLabel.numberOfLines = 5;
nameLabel.font = [UIFont boldSystemFontOfSize:12];
[self.view addSubview:nameLabel]; 

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"Hide" style:UIBarButtonItemStyleBordered target:self action:@selector(back)];    

- (IBAction)back{

  self.navigationItem.rightBarButtonItem=nil;

  [nameLabel setHidden: YES];  not working
   nameLabel.hidden = YES;     not working
}

Am I missing something?


Solution

  • This is also another way to do same

    UILabel *nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 100, 320, 100)];
    nameLabel.text = @"TEXT";
    nameLabel.tag = 1001;
    nameLabel.backgroundColor = [UIColor greenColor];
    nameLabel.numberOfLines = 5;
    nameLabel.font = [UIFont boldSystemFontOfSize:12];
    [self.view addSubview:nameLabel]; 
    
    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"Hide" style:UIBarButtonItemStyleBordered target:self action:@selector(back)];    
    
    - (IBAction)back{
    
      self.navigationItem.rightBarButtonItem=nil;
       UILabel *tempLabel = (UILabel *)[self.view viewWithTag:1001];
      [tempLabel setHidden: YES];  
       tempLabel.hidden = YES;     
    }