にリンクされているナビゲーションビューコントローラーがありUITableViewController
ます。テーブルViewControllerには、静的セルがあります。テーブルビューセルの右ラベル形式があります。UIViewController
クリックするとに移動し、UITableViewCell
次に戻ってに移動するとUITableViewController
、の詳細ラベルを更新したいと思いUITableViewCell
ます。
enter code here
値をに渡すことができUIViewController
ますUITableViewcontroller
。を使用してこれを確認しNSLog
ました。しかし、セルの詳細ラベルを更新できません。
使用-(void) tableView:(UITableView *) tableView didDeselectRowAtIndexPath
しましたが、別のテーブルビューセルをクリックしたときにのみテーブルビューセルが更新されるため、これは役に立ちません。に戻ったときにこの更新が自動的に行われるようにしたいUITableViewController
次のリンクを確認してください http://www.icodeblog.com/wp-content/uploads/2011/10/navigation_interface.jpeg
上の画像のようなものが欲しい
これはどのように行うことができますか。
コード用に更新
@interface designTableViewController ()
@end
@implementation designTableViewController
{
glimmpseliteAppDelegate *appDelegate;
}
- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
appDelegate = [[UIApplication sharedApplication]delegate];
[super viewDidLoad];
}
- (void)viewDidUnload
{
[super viewDidUnload];
}
-(void)viewWillAppear:(BOOL)animated
{
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 8;
}
#pragma mark - Table view delegate
-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row == 1)
{
UITableViewCell *tb = [tableView cellForRowAtIndexPath:indexPath];
UIViewController *uiViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"designSolvingForViewController"];
[self.navigationController pushViewController:uiViewController animated:YES];
tb.detailTextLabel.text = appDelegate.solvingFor;
}
if(indexPath.row == 2)
{
UIViewController *uiViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"designTypeIErrorRate"];
[self.navigationController pushViewController:uiViewController animated:YES];
UITableViewCell *tb = [tableView cellForRowAtIndexPath:indexPath];
tb.detailTextLabel.text = appDelegate.typeIError;
}
if(indexPath.row == 3)
{
UIViewController *uiViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"designNumberOfGroups"];
[self.navigationController pushViewController:uiViewController animated:YES];
UITableViewCell *tb = [tableView cellForRowAtIndexPath:indexPath];
tb.detailTextLabel.text = appDelegate.numberOfGroups;
}
if(indexPath.row == 4)
{
UIViewController *uiViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"designRelativeGroupSize"];
[self.navigationController pushViewController:uiViewController animated:YES];
UITableViewCell *tb = [tableView cellForRowAtIndexPath:indexPath];
tb.detailTextLabel.text = appDelegate.relativeGroupSize;
}
if(indexPath.row == 5)
{
UIViewController *uiViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"designSmallestGroupSize"];
[self.navigationController pushViewController:uiViewController animated:YES];
UITableViewCell *tb = [tableView cellForRowAtIndexPath:indexPath];
tb.detailTextLabel.text = appDelegate.smallestGroupSize;
}
if(indexPath.row == 6)
{
UIViewController *uiViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"designMeansAndVariance"];
[self.navigationController pushViewController:uiViewController animated:YES];
UITableViewCell *tb = [tableView cellForRowAtIndexPath:indexPath];
tb.detailTextLabel.text = appDelegate.meansAndVariance;
}
}
- (void) tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row == 1)
{
UITableViewCell *tb = [tableView cellForRowAtIndexPath:indexPath];
tb.detailTextLabel.text = appDelegate.solvingFor;
}
if(indexPath.row == 2)
{
UITableViewCell *tb = [tableView cellForRowAtIndexPath:indexPath];
//tb.textLabel.text =@"Sample";
tb.detailTextLabel.text = appDelegate.typeIError;
}
if(indexPath.row == 3)
{
UITableViewCell *tb = [tableView cellForRowAtIndexPath:indexPath];
//tb.textLabel.text =@"Sample";
tb.detailTextLabel.text = appDelegate.numberOfGroups;
}
if(indexPath.row == 4)
{
UITableViewCell *tb = [tableView cellForRowAtIndexPath:indexPath];
//tb.textLabel.text =@"Sample";
tb.detailTextLabel.text = appDelegate.relativeGroupSize;
}
if(indexPath.row == 5)
{
UITableViewCell *tb = [tableView cellForRowAtIndexPath:indexPath];
//tb.textLabel.text =@"Sample";
tb.detailTextLabel.text = appDelegate.smallestGroupSize;
}
if(indexPath.row == 6)
{
UITableViewCell *tb = [tableView cellForRowAtIndexPath:indexPath];
//tb.textLabel.text =@"Sample";
tb.detailTextLabel.text = appDelegate.meansAndVariance;
}
}
@end
最初のテーブルセルは、ボタンのあるセルです。そのボタンのプッシュUIViewControllerがあります。