2

我在我的应用程序中使用 ELCImagePickerController。根据从 Github 下载的演示,我使用的代码是

ELCAlbumPickerController *albumController = [[ELCAlbumPickerController alloc]    initWithNibName:@"ELCAlbumPickerController" bundle:[NSBundle mainBundle]];    

ELCImagePickerController *elcPicker = [[ELCImagePickerController alloc] initWithRootViewController:albumController];

[albumController setParent:elcPicker];

[elcPicker setDelegate:self];

ELCImagePickerDemoAppDelegate *app = (ELCImagePickerDemoAppDelegate *)[[UIApplication sharedApplication] delegate];

[app.viewController presentModalViewController:elcPicker animated:YES];

[elcPicker release];
[albumController release];

现在它不会工作,因为 ELCImagePickerDemoAppDelegate 不是我的应用程序的 AppDelegate。那么将这个图像选择器集成到我的应用程序的正确代码应该是什么。我还尝试将 UIViewController 子类添加到我的应用程序并调用

[self presentModalViewController:elcPicker animated:YES];

但这不会显示选择器并记录一条消息

deallocing ELCImagePickerController

谁能指导我正确的方向?

4

2 回答 2

4

只需按照以下操作

在 .h 文件中添加这个

#import "ELCImagePickerController.h"

并且符合ELCImagePickerControllerDelegate协议

并在 .m 文件中将其添加到顶部

#import "ELCImagePickerController.h"
#import "ELCAlbumPickerController.h"

并在要显示选择器的位置添加以下代码

ELCAlbumPickerController *albumController = [[ELCAlbumPickerController alloc] initWithNibName:@"ELCAlbumPickerController" bundle:[NSBundle mainBundle]];    
    ELCImagePickerController *elcPicker = [[ELCImagePickerController alloc] initWithRootViewController:albumController];
    [albumController setParent:elcPicker];
    [elcPicker setDelegate:self];
    [self presentModalViewController:elcPicker animated:YES];

并且还包括所需的协议方法

于 2012-04-12T12:34:40.177 回答
0

尝试不使用 initWithNibName ...

#import "ELCImagePickerController.h"
#import "ELCAlbumPickerController.h"

ELCAlbumPickerController *albumController = [[ELCAlbumPickerController alloc] init];
    ELCImagePickerController *elcPicker = [[ELCImagePickerController alloc] initWithRootViewController:albumController];
[albumController setParent:elcPicker];
    [elcPicker setDelegate:self];
    [self presentModalViewController:elcPicker animated:YES];
于 2012-08-13T15:33:22.933 回答