簡體   English   中英

loadView()沒有被調用

[英]loadView() no called

我有一個UIViewController用定義的loadView方法調用另一個視圖控制器。 我一直在嘗試許多選項而未成功解決未調用的loadView方法的問題。

任何幫助表示贊賞。

謝謝。 MArcos

呼叫者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];
}...

loadView的想法是完全覆蓋該方法,而不是調用super

您正在執行的操作正是viewDidLoad方法的用途,無論您是從nib文件還是其他文件加載它都沒關系

我引用您在ViewController.m的帖子

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


}

我用以下方法推動視圖控制器:

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

我只是更改為:

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

UIViewController導航控制器

navigationController在視圖控制器層次結構中最接近的祖先,它是導航控制器。 (只讀)

@property(非原子的,只讀的,保留的)UINavigationController * navigationController討論如果接收者或其祖先之一是導航控制器的子代,則此屬性包含擁有的導航控制器。 如果視圖控制器未嵌入在導航控制器內部,則此屬性為nil。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM