Alok Alok - 4 months ago 20
iOS Question

UITableView clicking on an item an opening a new screen/view/activity

I have a table view(HomeViewController) consisting of items as:


  1. locations

  2. Reporting

  3. Setting



I am having these items as separate files(LocationViewController,ReportingView Controller and Setting ViewController).Now if user clicks on location a new screen/activity/view should be open and same for rest items.
Can some one please help.my code is as:

#import "HomePageController.h" @implementation HomePageController
@synthesize menuList, table;
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.

- (void)viewDidLoad
{

menuList=[[NSMutableArray alloc] initWithObjects:

[NSArray arrayWithObjects:@"LOCATIONS",nil],

[NSArray arrayWithObjects:@"REPORTING",nil],

[NSArray arrayWithObjects:@"SETTINGS",nil],

[NSArray arrayWithObjects:@"PASSWORD",nil],

[NSArray arrayWithObjects:@"HELP",nil],

[NSArray arrayWithObjects:@"ABOUT",nil],

[NSArray arrayWithObjects:@"SHARE",nil],
nil];
[self.navigationController setNavigationBarHidden:NO];
self.navigationController.navigationBar.tintColor=[UIColor blackColor];
self.navigationController.navigationBar.barStyle=UIBarStyleBlackTranslucent;
self.title=@"CoinRead";
[table reloadData];
[super viewDidLoad];
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)theTableView{
return 1;
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 40;
}

- (NSInteger)tableView:(UITableView *)theTableView numberOfRowsInSection:(NSInteger)section{
return menuList.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier = @"CellIdentifier";

UITableViewCell *cell = [table dequeueReusableCellWithIdentifier:CellIdentifier];

if(cell == nil){

cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero] autorelease];
}

cell.highlighted=NO;

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

NSArray *rowArray = [menuList objectAtIndex:indexPath.row];

UILabel *nameLabel = [[[UILabel alloc] initWithFrame:CGRectMake(15, 8, 200, 20)]autorelease];

nameLabel.text = [NSString stringWithFormat:@"%@",[rowArray objectAtIndex:0]];

nameLabel.backgroundColor = [UIColor clearColor];

nameLabel.shadowColor=[UIColor whiteColor];

nameLabel.shadowOffset=CGSizeMake(0.0, 0.5);

nameLabel.textColor = RGB(0,0,0);

[nameLabel setFont:[UIFont boldSystemFontOfSize:16.0f]];

[cell.contentView addSubview:nameLabel];

return cell;
}

Answer

Implement below method of UITableViewDelegate to get the selection event

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
Comments