質問
私は表示するための非常にシンプルなビューをgeting難しさを持っています。このビューには、スイッチング・ビュー・コントローラによって管理されたカスタムビューコントローラを持っています。 XIBは、そのイメージのプロパティが設定されたその上に1つのUIViewController成分を有しています。次のようにビューコントローラである
InstructionsViewController.h
#import <UIKit/UIKit.h>
@interface InstructionsViewController : UIViewController {
}
@end
InstructionsViewController.m
#import "InstructionsViewController.h"
@implementation InstructionsViewController
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning]; // Releases the view if it doesn't have a superview
// Release anything that's not essential, such as cached data
}
- (void)dealloc {
[super dealloc];
}
@end
私もInstructionsViewControllerにXIBのファイルの所有者のためのクラスのプロパティを設定し、Ctrlキー+ Viewアイコンにファイルの所有者をドラッグし、ポップアップメニューからビューを選択しています。
ビューを表示するためのコードがある:
- (void) showInstructions
{
//Lazy load the instruction view.
if (self.instructionsViewController == nil)
{
InstructionsViewController *viewController = [[InstructionsViewController alloc]
initWithNibName:@"InstructionsView"
bundle:nil];
self.instructionsViewController = viewController;
[viewController release];
}
[self.view insertSubview:viewController.view atIndex:0];
}
彼らは切り替えているさまざまなビューをアニメーション私のビューコントローラは、何の問題ロードし、他の三つのビューを表示していません。それはちょうど、このいずれかを好きではありません。
私は、単純な何かを見逃していると確信しているが、私の人生のために私はそれが何らかの理由で動作させることはできません。誰もが任意のポインタを持っていますか?
おかげで、
スティーブ
解決 4
[OK]を、私は最終的にそれを解決してきました!
問題は、Xcodeで何かあったか、またはInterface Builderは、私はIBで画像表示制御用に指定PNGファイルと一致されませんでした。私は無駄に再命名、および再指定などを試します。
私は最終的にグラフィックを削除しなければならなかったし、それが元の場所だから、それを再コピーします。それから私は、イメージビューでそれを指定の再構築と走りました。今、それが動作します。
すべてが再び世界に良いです。
読み、助けを提供するために時間がかかった人たちに感謝します。私はそれが非常に感謝!
スティーブ
他のヒント
私はちょうど同じことがありました。その後、再リンク新しいものを置き、UIImageViewを削除することになった、それが働きました。どこかにいくつかの破損のように思える。
これがコンパイルされてどのようにしても、本当にわかりません。あなたはViewControllerをは範囲外である、あなたはnilチェック、外でサブビューを挿入されます。
あなたはおそらく何をしたい。
[self.view insertSubview:self.instructionsViewController.view atIndex:0];
あなたはshowInstructions
がブレークポイントを設定することで呼び出されていることを確認していますか?チェックするもう一つの事はあなたがあなたのzオーダーの下部にInstructions
ビューを挿入しているということですので、他のすべての項目の後ろになります。使用してみてください:
[self.view addSubview:self.instructionsViewController.view];
これは、zオーダーの最上部に追加します。それでも解決しない場合は、またしてみてください。
[self.view setNeedsLayout];
および/またはます:
[self.instructionsViewController.view setNeedsLayout];