2011-07-24 7 views
0

私はこの奇妙な問題を抱えています。アプリ内のすべてのタッチイベントを登録し、タッチが発生したときにタイマーをリセットする社内アプリを構築しています。タイマーは、ユーザーが60秒以上非アクティブであるかどうかをチェックし、システムからログアウトします。iPadアプリのUIWindowをサブクラス化

今、私はUIWindowをサブクラス化し、すべてのタッチイベントをそこから盗みたいと思いますが、不可能です! This is the great tutorial I'm following、(ダウンロード可能なサンプル作品)が、私のプロジェクトで実装、コードは動作しません...

ここでは私のAppDelegate.hファイルです:

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

@interface StureplansHLMAppDelegate : UIResponder <UIApplicationDelegate> { 
TouchWindow *window; 
Settings *appSettings; 
} 

@property (nonatomic, retain) TouchWindow *window; 
@property (nonatomic, retain) Settings *appSettings; 

@end 

そして、ここでの.mファイル

です
#import "StureplansHLMAppDelegate.h" 
#import "TouchWindow.h" 
#import "WelcomeScreen.h" 

@implementation StureplansHLMAppDelegate 

@synthesize window; 
@synthesize appSettings; 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
self.window = [[TouchWindow alloc] init]; 
self.window = [[TouchWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
WelcomeScreen *startScreen = [[WelcomeScreen alloc] init]; 
[self.window addSubview:startScreen.view]; 
[self.window makeKeyAndVisible]; 

return YES; 
} 

私は私のカスタムUIWindowクラスをインスタンス化するとアプリがビューをロードするだけで黒と決してあり...

私はXCodeの4.2のiOS 5とストーリーボードを使用しています。誰か助けてくれますか?どうすればそれを動作させることができますか?

+0

なぜあなたは、第二を作成し、離れて最初の1を投げ、その後、1 TouchWindowを作成していますか? –

+1

また、startScreenへのポインタを保持しないので、ウィンドウが消えたときに失われ/リークしたオブジェクトになります。 –

+0

startScreenのジオメトリを設定する必要があるかもしれないと思います。 –

答えて

3

startScreenをどこかに保持する必要があります。代わりにaddSubviewでウィンドウにstartScreenのビューを追加するのは、単に窓のrootViewControllerとして設定

self.window.rootViewController = startScreen 
関連する問題