UITableViewで、配列を昇順と降順でそれぞれ並べ替えるための2つの別々のボタンがあります。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
checkButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
checkButton.frame = CGRectMake(540, 30, 42, 42);
[checkButton setBackgroundImage:[[UIImage imageNamed:@"Down Arrow.png"] stretchableImageWithLeftCapWidth:0.0 topCapHeight:0.0] forState:UIControlStateNormal];
[checkButton addTarget:self action:@selector(descender:) forControlEvents:UIControlEventTouchUpInside];
[checkButton setTag:200];
[cell.contentView addSubview:checkButton];
checkButton1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
checkButton1.frame = CGRectMake(600, 30, 42, 42);
[checkButton1 setBackgroundImage:[[UIImage imageNamed:@"Up Arrow.png"] stretchableImageWithLeftCapWidth:0.0 topCapHeight:0.0] forState:UIControlStateNormal];
[checkButton1 addTarget:self action:@selector(ascender:) forControlEvents:UIControlEventTouchUpInside];
[checkButton1 setTag:100];
[cell.contentView addSubview:checkButton1];
checkButton = (UIButton *)[cell viewWithTag:200];
if (indexPath.row == 0 && appDelegate.a == 300)
{
checkButton.hidden = NO;
checkButton1.hidden = YES;
}
checkButton1 = (UIButton *)[cell viewWithTag:100];
if ((lastSectionIndex == indexPath.section && lastRowIndex == indexPath.row ))
{
checkButton.hidden = YES;
checkButton1.hidden = NO;
}
}
cellforrowAtIndexPathに、並べ替え用の2つのボタンを追加しました。そして、ソートボタンをクリックすると、そのソートボタンが消え、完了ボタンが表示されるはずです。そして、私はそれを次のように与えました、
-(void)sortItem:(id)sender
{
NSLog(@"sort clicked");
if(appDelegate.a = 300)
{
checkButton.hidden = NO;
checkButton1.hidden = YES;
}
self.navigationItem.title = @"Sort Book Shelf";
sortButton.hidden = YES;
editButton.hidden = YES;
doneButton.hidden = NO;
// if (appDelegate.b == 400)
// {
// checkButton.hidden = NO;
// checkButton1.hidden = NO;
// }
[editTable reloadData];
}
次に、[並べ替え]ボタンをクリックすると、これら2つのチェックボタンが表示され、[完了]ボタンをクリックすると、これら2つのボタンが消えます。
-(void)doneClick:(id)sender
{
NSLog(@"Done Clicked");
if (appDelegate.b == 400)
{
checkButton.hidden = YES;
checkButton1.hidden = YES;
}
self.navigationItem.title = @"Edit Book Shelf";
sortButton.hidden = NO;
editButton.hidden = NO;
doneButton.hidden = YES;
}
現在、並べ替え機能が正常に機能しています。しかし、完了ボタンをタップしているとき、ボタンが最初と最後のインデックスにあるという条件を与えたので、私のボタンはセルパスから消えません。DONEボタンクリックでのみ2つのボタンを非表示にするにはどうすればよいですか?よろしくお願いします。