0

テーブルビューから詳細ビューへのプッシュに問題があります。テーブルビュー セルをクリックすると、セルが強調表示されますが、詳細ビューにプッシュされません。これを使用して詳細ビューに移行しています。

[self.navigationController pushViewController:detailViewController animated:YES];

これはよくある問題だと読みましたが、どういうわけか解決策を見つけることができません。私の完全な .m ファイルは以下です。誰かが驚くべき推奨事項を持っている場合。ありがとうございました!

#import "ViewController.h"
#import "DetailViewController.h"
@interface ViewController ()
@end

@implementation ViewController

- (void)viewDidLoad
{
[super viewDidLoad];
self.title = @"title";

[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

NSURL *url = [NSURL URLWithString:@"http://website.com/json.php"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[[NSURLConnection alloc] initWithRequest:request delegate:self];
// Do any additional setup after loading the view, typically from a nib.
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;

news = [NSJSONSerialization JSONObjectWithData:data options:nil error:nil];
[mainTableView reloadData];
}

- (int)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}

- (int)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [news count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MainCell"];

if(cell == nil){
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"MainCell"];
}

cell.textLabel.text = textForMyLabel;
return cell;
}

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

UIBarButtonItem *newBackButton = [[UIBarButtonItem alloc] initWithTitle: @"Back" style: UIBarButtonItemStyleBordered target: nil action: nil];

[[self navigationItem] setBackBarButtonItem: newBackButton];

DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
detailViewController.title = [[news objectAtIndex:indexPath.row] objectForKey:@"name"];
detailViewController.newsArticle = [news objectAtIndex:indexPath.row];
[self.navigationController pushViewController:detailViewController animated:YES];
}
4

2 に答える 2

0

試してみて:

[self presentModalViewController: detailViewController animated:YES];
于 2012-12-11T08:33:38.020 に答える
0

UINavigationController のみでプッシュを実行できます。上記のコードは、コントローラーが UINavigationController の場合に機能します。2 つのプロジェクトを統合しようとしているので、RootViewController が UINavigationController であるかどうかを確認するだけです。

于 2012-12-11T08:37:13.973 に答える