【发布时间】:2011-12-20 10:30:18
【问题描述】:
我使用以下代码更改了 uiimageview 的图像,这对我有用
-(void)viewDidLoad{
[super viewDidLoad];
UIImage *tempImage = [UIImage imageNamed:@"instant_poetry_small.png" ];
drawImage.image = tempImage;
}
-(id)initWithImage:(NSString *)img{
[super viewDidLoad];
return self;
}
但我想在 init 方法中更改 uiimageview 的图像。为此,我尝试了以下代码,但它没有改变 uiimageview 的图像。
-(void)viewDidLoad{
[super viewDidLoad];
}
-(id)initWithImage:(NSString *)img{
[super viewDidLoad];
UIImage *tempImage = [UIImage imageNamed:@"instant_poetry_small.png" ];
drawImage.image = tempImage;
return self;
}
下面是我的应用程序委托方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[TTURLRequestQueue mainQueue] setMaxContentLength:0];
TTNavigator *navigator = [TTNavigator navigator];
navigator.window = _window;
TTURLMap *map = navigator.URLMap;
[map from:@"tt://appPhotos" toSharedViewController:[PhotoViewController class]];
[map from:@"tt://photo/detail?name=(initWithImage:)" toSharedViewController:[PhotoView class]];
[navigator openURLAction:[TTURLAction actionWithURLPath:[NSString stringWithFormat:@"tt://photo/detail?name=%@",@"level_me_up_small.png"]]];
[_window makeKeyAndVisible];
return YES;
}
你能告诉我上面的示例代码有什么区别吗?
【问题讨论】:
-
任何人都可以告诉我,我们如何在运行时更改 xib 的 uiimageview 对象中的图像。我正在使用 initWithNibName 加载我的 xib 并想更改我的 xib 中的图像。
-
- (void)loadView{ [super loadView]; [self.navigationController setNavigationBarHidden:YES animated:YES]; self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"Save" style:UIBarButtonItemStyleBordered target:self action:@selector(save:) ]; NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"PhotoView" owner:self options:nil]; for(id oneObject in nib){ self.view = (UIView *)oneObject; } UIImage *camImage = [[UIImage imageNamed:self.imageName] retain]; drawImage.image = camImage; [camImage release]; } -
-(id)initWithImage:(NSString *)img{ self.imageName = img; NSString *imgName = [NSString stringWithFormat:@"%s",self.imageName]; return self; } -
我通过以上两种方法解决了我的问题。
标签: iphone objective-c ios cocoa-touch three20