私は正常に動作していたを持ってDetailViewController
います。ラベルとtextView
. が選択されたときに上に移動scrollView
できるように を追加しましたが、古いラベルの下に を配置した後、ラベルにデータが表示されなくなりました。ストーリーボードを使用して UI を作成しています。スクロールビューをドロップしてラベルを上に配置するだけでうまくいくと思いました。そうではありませんでした。textView
scrollView
どうしてこれなの?
アップデート:
コードが必要な人のために、ここにあります:
#import "DetailViewController.h"
@interface DetailViewController ()
- (void)configureView;
@end
@implementation DetailViewController
@synthesize comment;
static const CGFloat KEYBOARD_ANIMATION_DURATION = 0.3f;
#pragma mark - Managing the detail item
- (void)setDetailItem:(RootBeer*)newDetailItem
{
if (_detailItem != newDetailItem) {
_detailItem = newDetailItem;
// Update the view.
[self configureView];
}
}
- (void)configureView
{
// Update the user interface for the detail item.
[self.view addSubview:];
if (self.detailItem) {
self.rootBeerNameLabel.text = [[self.detailItem valueForKey:@"rootBeerName"] description];
self.rootBeerBrewerLabel.text = [[self.detailItem valueForKey:@"rootBeerBrewer"] description];
self.rootBeerLocationLabel.text = [[self.detailItem valueForKey:@"rootBeerLocation"] description];
self.rootBeerDescriptionLabel.text = [[self.detailItem valueForKey:@"rootBeerDescription"] description];
self.rootBeerDetailsLabel.text = [[self.detailItem valueForKey:@"rootBeerDetails"] description];
self.rootBeerNotes.text = self.detailItem.comments.rootBeerComment;
}
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self configureView];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(IBAction)cancel:(id)sender{
NSLog(@"Saved!");
[self.navigationController popToRootViewControllerAnimated:YES];
}
-(IBAction)save:(id)sender{
NSManagedObjectContext *context = [self managedObjectContext];
Comments* com = [NSEntityDescription insertNewObjectForEntityForName:@"Comments" inManagedObjectContext:context];
if(self.detailItem){
//update current job
[com setValue:self.rootBeerNotes.text forKey:@"rootBeerComment"];
[com setValue:[self.detailItem valueForKey:@"rootBeerId"] forKey:@"rootBeerId"];
[self.detailItem setValue:com forKey:@"comments"];
NSError* error = nil;
if(![context save:&error]){
NSLog(@"Can't Save! %@ %@", error, [error localizedDescription]);
}
NSLog(@"Saved!");
}else{
//create new job
NSManagedObject *newJob = [NSEntityDescription insertNewObjectForEntityForName:@"Jobs" inManagedObjectContext:context];
/*
[newJob setValue:self.company.text forKey:@"company"];
[newJob setValue:self.position.text forKey:@"position"];
[newJob setValue:self.jobId.text forKey:@"jobId"];
[newJob setValue:self.notes.text forKey:@"notes"];
*/
NSError* error = nil;
if(![context save:&error]){
NSLog(@"Can't Save! %@ %@", error, [error localizedDescription]);
}
NSLog(@"Saved!");
}
[self.navigationController popToRootViewControllerAnimated:YES];
}
-(NSManagedObjectContext *)managedObjectContext{
NSManagedObjectContext* context = nil;
id delegate = [[UIApplication sharedApplication]delegate];
if([delegate performSelector:@selector(managedObjectContext)]){
context=[delegate managedObjectContext];
}
return context;
}
@end