私はXcodeの初心者で、現在、展開可能/折りたたみ可能なUITableViewに取り組んでいます。基本的な考え方は、最初のマスター セルがクリックされたときに新しいサブ ドロップダウン セルを作成し、サブセルが詳細ビューに移動できるようにすることです。しかし、これらの新しいサブセルから詳細ビューに移行したいと考えています。次の 2 つのオプションがあることがわかりました。
- セグエを作成する
- pushviewcontroller を作成します。
新しいビュー コントローラーをドラッグして、そのストーリーボード ID を定義し、新しい詳細ビューをプッシュするセグエをプログラムで作成しようとしました。しかし、それは機能していません。誰でも私を助けることができますか?ありがとう。
//didSelectRowAtIndexPath
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//to change the button image when selecting a row.
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
UIButton *arrowBtn = (UIButton*)[cell viewWithTag:10];
NSDictionary *dic=[self.itemsinTable objectAtIndex:indexPath.row];
if([dic valueForKey:@"list"])
{
NSArray *listarray=[dic valueForKey:@"list"];
BOOL isTableExpanded=NO;
for(NSDictionary *subitems in listarray )
{
NSInteger index=[self.itemsinTable indexOfObjectIdenticalTo:subitems];
isTableExpanded=(index>0 && index!=NSIntegerMax);
if(isTableExpanded) break;
}
if(isTableExpanded)
{
[self CollapseRows:listarray];
[arrowBtn setImage:[UIImage imageNamed:@"down_arrow.png"] forState:UIControlStateNormal];
}
else
{
NSUInteger count=indexPath.row+1;
NSMutableArray *arrCells=[NSMutableArray array];
for(NSDictionary *dInner in listarray )
{
[arrCells addObject:[NSIndexPath indexPathForRow:count inSection:0]];
[self.itemsinTable insertObject:dInner atIndex:count++];
}
[self.expandingtableView insertRowsAtIndexPaths:arrCells withRowAnimation:UITableViewRowAnimationTop];
[arrowBtn setImage:[UIImage imageNamed:@"up_arrow.png"] forState:UIControlStateNormal];
//This segue is not working...
UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"detailvcontroller"];
[self.navigationController pushViewController:controller animated:YES];}}}