【发布时间】:2011-06-13 05:01:11
【问题描述】:
我有两种观点。在第一个视图中,我有一个表格,在选择一行时,我调用第二个视图,如下面的代码。还给出了被调用类的代码。但不知何故,我只能看到改变的背景,而不是那里的其他 UIImageView。任何人都可以请帮助我吗?谢谢。
-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
details.movieName2=movieName;
self.title=@"Back";
[[self navigationController] pushViewController:details animated:NO];
}
视图类头:
#import <UIKit/UIKit.h>
@interface detailedView : UIViewController {
NSString *movieName2;
UIImageView *myImageView;
}
@property (nonatomic, retain) UIImageView *myImageView;
@property (nonatomic, retain) NSString *movieName2;
@end
而视图类代码是:
#import "detailedView.h"
@implementation detailedView
@synthesize movieName2;
@synthesize myImageView;
- (id) init {
self=[super init];
movieName2=@"";
myImageView=[[UIImageView alloc] init];
return self;
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
-(void) viewDidAppear:(BOOL)animated
{
self.view=[[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
self.view.frame=CGRectMake(0, 0, 355, 615);
self.view.backgroundColor=[[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"background-retina.png"]];
self.title=self.movieName2;
[myImageView setImage:[UIImage imageNamed:@"sample.png"]];
[myImageView setFrame:CGRectMake(5, 5, 50, 50)];
[self.view addSubview:myImageView];
}
- (void)dealloc
{
[myImageView release];
[movieName2 release];
[super dealloc];
}
@end
【问题讨论】:
-
旁注,
details.movieName2=[movieName retain];过度保留它。details.movieName2=movieName;可以。
标签: ios cocoa-touch uipickerview