In my application am using scrollView with 4 Buttons.
When we click on any one of the buttons a table will be displayed with data row by row dynamically.
Now my problem is to arrange them into ascending order.
Sample code is
this is for adding buttons to scrollview this is in one class
browseScrollView.hidden = NO;
browseScrollView.frame = CGRectMake(15, 57, 480, 44);
[browseScrollView setContentSize:CGSizeMake(600, 40)];
firstButton = [UIButton buttonWithType:UIButtonTypeCustom];
[firstButton setFrame:CGRectMake(5,3,91,37)];
[firstButton setImage:[UIImage imageNamed:@"genres.png"] forState:UIControlStateNormal];
firstButton.tag = 1;
[firstButton addTarget:self action:@selector(fourthPageSongSelction:) forControlEvents:UIControlEventTouchDown];
[browseScrollView addSubview:firstButton];
secondButton = [UIButton buttonWithType:UIButtonTypeCustom];
[secondButton setFrame:CGRectMake(110,3,91,37)];
[secondButton setImage:[UIImage imageNamed:@"artists.png"] forState:UIControlStateNormal];
secondButton.tag = 2;
[secondButton addTarget:self action:@selector(fourthPageSongSelction:) forControlEvents:UIControlEventTouchDown];
[browseScrollView addSubview:secondButton];
thirdButton = [UIButton buttonWithType:UIButtonTypeCustom];
[thirdButton setFrame:CGRectMake(209,3,91,37)];
thirdButton.tag = 3;
[thirdButton setImage:[UIImage imageNamed:@"albums.png"] forState:UIControlStateNormal];
[thirdButton addTarget:self action:@selector(fourthPageSongSelction:) forControlEvents:UIControlEventTouchDown];
[browseScrollView addSubview:thirdButton];
fourthButton = [UIButton buttonWithType:UIButtonTypeCustom];
[fourthButton setFrame:CGRectMake(317,3,91,37)];
fourthButton.tag = 4;
[fourthButton setImage:[UIImage imageNamed:@"songs.png"] forState:UIControlStateNormal];
[fourthButton addTarget:self action:@selector(fourthPageSongSelction:) forControlEvents:UIControlEventTouchDown];
[browseScrollView addSubview:fourthButton];
tableView.hidden = NO;
tableView.frame = CGRectMake(5, 100, 235, 200);
tableView.showsVerticalScrollIndicator = NO;
This is the method i used to add values to table row this in another class which is subclass of TableViewCell
-(void) showFourthPageControlValues :(int) currRow :(int)val
{
int value = val;
TonifyAppDelegate *appDelegate = (TonifyAppDelegate *)[UIApplication sharedApplication].delegate;
if (value == 1)
{
genresLabel1.hidden = NO;
genresLabel2.hidden = NO;
genresButton.hidden = NO;
artistLabel1.hidden = YES;
artistLabel2.hidden = YES;
artistButton.hidden = YES;
albumLabel1.hidden = YES;
albumLabel2.hidden = YES;
albumButton.hidden = YES;
songsLabel1.hidden = YES;
songsLabel2.hidden = YES;
songsButton.hidden = YES;
[genresLabel1 setText:[[appDelegate.songsList objectAtIndex:currRow] valueForKey:@"Genre"]];
[genresLabel2 setText:[[appDelegate.songsList objectAtIndex:currRow] valueForKey:@"SongName"]];
[genresButton addTarget:self.delegateController action:@selector(songTypeSelAction:) forControlEvents:UIControlEventTouchUpInside];
genresButton.tag = currRow;
}
if (value == 2)
{
genresLabel1.hidden = YES;
genresLabel2.hidden = YES;
genresButton.hidden = YES;
artistLabel1.hidden = NO;
artistLabel2.hidden = NO;
artistButton.hidden = NO;
albumLabel1.hidden = YES;
albumLabel2.hidden = YES;
albumButton.hidden = YES;
songsLabel1.hidden = YES;
songsLabel2.hidden = YES;
songsButton.hidden = YES;
[artistLabel1 setText:[[appDelegate.songsList objectAtIndex:currRow] valueForKey:@"ArtistName"]];
[artistLabel2 setText:[[appDelegate.songsList objectAtIndex:currRow] valueForKey:@"SongName"]];
[artistButton addTarget:self.delegateController action:@selector(songTypeSelAction:) forControlEvents:UIControlEventTouchUpInside];
artistButton.tag = currRow;
}
if (value == 3)
{
genresLabel1.hidden = YES;
genresLabel2.hidden = YES;
genresButton.hidden = YES;
artistLabel1.hidden = YES;
artistLabel2.hidden = YES;
artistButton.hidden = YES;
albumLabel1.hidden = NO;
albumLabel2.hidden = NO;
albumButton.hidden = NO;
songsLabel1.hidden = YES;
songsLabel2.hidden = YES;
songsButton.hidden = YES;
[albumLabel1 setText:[[appDelegate.songsList objectAtIndex:currRow] valueForKey:@"AlbumName"]];
[albumLabel2 setText:[[appDelegate.songsList objectAtIndex:currRow] valueForKey:@"SongName"]];
[albumButton addTarget:self.delegateController action:@selector(songTypeSelAction:) forControlEvents:UIControlEventTouchUpInside];
albumButton.tag = currRow;
}
if (value == 4)
{
genresLabel1.hidden = YES;
genresLabel2.hidden = YES;
genresButton.hidden = YES;
artistLabel1.hidden = YES;
artistLabel2.hidden = YES;
artistButton.hidden = YES;
albumLabel1.hidden = NO;
albumLabel2.hidden = NO;
albumButton.hidden = NO;
songsLabel1.hidden = NO;
songsLabel2.hidden = NO;
songsButton.hidden = NO;
[songsLabel1 setText:[[appDelegate.songsList objectAtIndex:currRow] valueForKey:@"SongName"]];
[songsLabel2 setText:[[appDelegate.songsList objectAtIndex:currRow] valueForKey:@"AlbumName"]];
[songsButton addTarget:self.delegateController action:@selector(songTypeSelAction:) forControlEvents:UIControlEventTouchUpInside];
songsButton.tag = currRow;
}
}
This is the method i am using for selection or row
-(void) songTypeSelAction :(id) sender
{
NSLog(@"songTypeSelAction");
UIButton *btn = (UIButton *) sender;
NSLog(@"songTypeSelAction bttn.tag: %d", btn.tag);
if ([self.delegateController respondsToSelector:@selector(songImageSelAction:)])
{
}
}
1 Answer