-3

私はモンスターを作成しましたが、それは私を困惑させています。

iOS アプリのビューとデータを処理する rootViewController を作成しました。このコントローラーには、その外観を容易にする xib があります。次に、カスタム UIView クラスをサブクラス化し、xib を使用してそのビューを作成しました。次に、UIView クラスとその xib を追加して、RootViewControllers ビューに表示しようとしています。SO rootViewController は NIb をロードしており、Im はこの UIView サブクラスを追加して、そのビューをプログラムでインストールしようとしています。

私のファイル階層は次のとおりです..

mockAppDelegate.h
mockAppDelegate.m
mockViewController.h
mockViewController.m
mockViewController.xib
colorPickerLoad.h
colorPickerLoad.m
colorPickerLoad.xib

Code inside h controller file.

#import <UIKit/UIKit.h>
#import "colorPickerLoad.h"

@interface mockViewController : UIViewController
{

}

- (void)createColorPicker;

@end

In the controllers .m file:


@interface mockViewController ()

@end

@implementation mockViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {

    }
return self;
}

- (void)viewDidLoad
{
   [super viewDidLoad];
   [self createColorPicker];

}

- (void)didReceiveMemoryWarning
{
[    super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


- (void)createColorPicker
{
    colorPickerLoad *newload = [[colorPickerLoad alloc] init];

   [self.view addSubview:newload];

   [self.view setNeedsDisplay];

}

@終わり

4

1 に答える 1

0

rootViewController がペン先をロードしている間は実行できませんが、ロードが完了した後、ビューが実際にユーザーに表示される前に実行できます。

私が本当に意味するのは、rootViewController 実装で viewDidLoad を実装することです (まだカスタム ビュー コントローラーでない場合は、1 つを作成して作成します)。

- (void) viewDidLoad { 
    UINib *nib = [UINib nibWithNibName:@"yourSubViewNib" bundle:nil]; 
    // Change the owner with real owner of the nib, if it's not the controller. 
    // This shall return the list of top views in your nib 
    NSArray *views = [nib instantiateWithOwner:self options:nil]; 
}
于 2013-09-05T04:48:47.670 に答える