2012-04-23 10 views
0

複数のビューを持つアプリケーションを開発しています。私はxlibファイルで作成した画像ギャラリー用のテンプレートを持っています。このビューはスクロールビューで1ページとして読み込まれます。私はとのXlibから複数の時間をロードされたビューを取得することができる午前以下:nibファイルからロードされたUIViewの問題

キーボードがkeyboardWasShownを示しているときに私が直面しています最初の問題は、され
- (void)registerForKeyboardNotifications 
{ 
    [[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(keyboardWasShown:) 
               name:UIKeyboardDidShowNotification object:nil]; 

    [[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(keyboardWillBeHidden:) 
               name:UIKeyboardWillHideNotification object:nil]; 

} 
- (id)initWithFrame:(CGRect)frame 
{ 
    self = [[[NSBundle mainBundle] loadNibNamed:@"GSEstimateView" owner:self options:NULL] lastObject]; 
    self.commentText.delegate = self; 
    self.scrollView.delegate = self; 
    self.commentText.delegate =self; 
    [self registerForKeyboardNotifications]; 
    return self; 
} 

:この方法は、私が持っているとして、多くのUIViewsのために呼び出さなっています作成した。私は2番目のUIViewからキーボードをロードしようとすると、無効なセレクターが呼び出されているための例外が発生します。 UIViewはペン先やxlibシングルトンからロードされていますか?どのように私はnibファイルからロードする場合、私のUIViewのインスタンスを通知することができますか?

答えて

0

(^。^)

こんにちは最初に私はこのようなプロトコルを使用することを好むNSNotificationを使用することをお勧めしません「誰かのような、私はこのことを申し上げ、私の改訂を修正した場合こんにちは申し訳ありませんが、私の英語のためによくありません」。

@protocol KeyBoardDelegate <NSObject> 
- (void)KeyBoardVisible:(BOOL)op; 
@end 

そして、あなたは倍数の見解を持っている場合、あなたがしたい場合に、今、このようなビューコントロール:

  • * のviewDidLoad、viewDidUnload、viewWillDisappear、viewWillAppear、およびその他*

私はこのようなUIViewControllerのビューを使用することをお勧めします。

あなたは例のViewControllerのビューの制御を取るとメソッド

- (void)viewDidLoad{ 
    [super viewDidLoad]; 
    //When the nib has been loaded. 
} 

- (void)viewWillAppear:(BOOL)animated{ 
    [super viewWillAppear:animated]; 
    //When the view is show. 
} 

- (void)viewWillDisappear:(BOOL)animated{ 
[super viewWillDisappear:animated]; 
//The view is hidden 
} 

- (void)viewDidUnload{ 
[super viewDidUnload]; 
// Release any retained subviews of the main view. 
} 

そして、いくつかのより多くのメソッドを使用することができ、これを使用して

UIViewControllerCustom *example = [[UIViewControllerCustom alloc] initWithNibName:@"exampleNIB" bundle:[NSBundle mainBundle]]; 
[self.view addSubview:example.view]; 

。 :)

+0

xlibビューをサブビューとして追加することは間違いありません。私は、キーボードの登録をinitメソッドに移して、それがどうなるかを見てみるつもりです。これがうまくいかない場合、私は2番目のオプションに行くことがあります。ご協力いただきありがとうございます。 –

+0

ようこそ。 – NTTake

関連する問題