1

我有一个 UIViewController 使用定义的 loadView 方法调用另一个视图控制器。我一直在尝试许多选项,但没有成功解决 loadView 方法未调用的问题。

任何帮助表示赞赏。

谢谢。马科斯

调用者 UIViewController

#import "MyAlbumViewController.h"
@interface ViewController : UIViewController
@end

执行

#import "ViewController.h"
@implementation ViewController
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.


}

- (void)viewDidAppear:(BOOL)animated{

    UIViewController*albumVC = [[MyAlbumViewController alloc] init];

    [self.navigationController pushViewController:albumVC animated:YES];


}
@end

调用 UIViewController

@interface MyAlbumViewController : NIToolbarPhotoViewController <NIPhotoAlbumScrollViewDataSource>

@end

执行

#import "MyAlbumViewController.h"

@implementation MyAlbumViewController

- (void)loadView{

    [super loadView];

    self.photoAlbumView.dataSource = self;

    // Set the default loading image.
    self.photoAlbumView.loadingImage = [UIImage imageWithContentsOfFile:
                                        NIPathForBundleResource(nil, @"NimbusPhotos.bundle/gfx/default.png")];

    self.title = NSLocalizedString(@"Loading...", @"Navigation bar title - Loading a photo album");

    [self loadAlbumInformation];
}...
4

2 回答 2

1

的想法loadView是完全覆盖方法,而不是调用super

您所做的正是该viewDidLoad方法的用途,无论您是从 nib 文件还是其他文件加载它都没有关系

我引用了你自己的帖子,在你的ViewController.m

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.


}
于 2013-01-29T19:16:27.883 回答
0

我正在推动视图控制器:

 [self.navigationController pushViewController:albumVC animated:YES];

我刚改成:

[self presentViewController:albumVC animated:YES completion:nil];

UIViewController 导航控制器

navigationController 视图控制器层次结构中最近的祖先,即导航控制器。(只读)

@property(nonatomic, readonly, retain) UINavigationController *navigationController 讨论 如果接收器或其祖先之一是导航控制器的子级,则此属性包含拥有的导航控制器。如果视图控制器未嵌入导航控制器,则此属性为零。

于 2013-01-29T19:39:43.307 回答