私は(とりわけ)単純なFacebookフィードを作成するタブ付きアプリに取り組んでいます。FacebookセクションはUINavigationController
、マスターテーブルビューと詳細ビューを保持しています。マスターテーブルビューの行の1つをクリックすると、意図したとおりに詳細ビュー(および適切に入力されたラベル)が表示されます。ただし、マスタービューに戻って別の行を選択すると、何か奇妙なことが起こります。たとえば、「detailLab」ラベル(sizeToFit
'd)が最初の詳細ビューで4行の長さであり、「detailLab」ラベルが2番目の詳細ビューで2行の長さであった場合、2回目の出現で詳細ビューの「detailLab」は最初の2行を正しく表示しますが、その下には、詳細ビューの最初の出現からの最後の2行が表示されます。
そして、いくつかの(うまくいけば)関連するコード:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
CGRect labelFrame = CGRectMake(100, 40, 220, 150);
detailLab = [[UILabel alloc] initWithFrame:labelFrame];
[detailLab setTextColor:[UIColor darkGrayColor]];
detailLab.font = [UIFont systemFontOfSize:14];
[detailLab setText:detail];
[detailLab setNumberOfLines:0];
[detailLab sizeToFit];
[self.view addSubview:detailLab];
NSURL *url = [NSURL URLWithString:pictureString];
NSData *imageData = [[NSData alloc] initWithContentsOfURL:url];
picture = [UIImage imageWithData:imageData];
bigImage.image = picture;
NSLog(@"dateString: %@", dateString);
dateLabel.text = dateString;
}
- (void)viewDidUnload
{
[super viewDidUnload];
bigImage = nil;
detailLab = nil;
detailLab.hidden = YES;
// Release any retained subviews of the main view.
self.detailDescriptionLabel = nil;
}
他のコードや詳細が必要な場合は、質問してください。喜んで提供させていただきます。