0

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

今... UIWindow をサブクラス化し、そこからすべてのタッチイベントを盗みたいのですが、それは不可能です! これは私がフォローしている素晴らしいチュートリアルです(ダウンロード可能なサンプルは機能します)が、私のプロジェクトに実装されていますが、コードは機能しません...

ここに私の 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 とストーリーボードを使用しています。誰かが私を助けることができますか?どうすれば機能しますか?

4

1 に答える 1

3

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

self.window.rootViewController = startScreen
于 2011-07-24T22:42:21.017 に答える