0

4日間探していますが、解決策が見つかりません。

iOS アプリでプッシュ通知を使用しようとしていますが、問題はありません。通知を受け取り、didReceiveRemoteNotification次のコードを使用する方法で問題なく詳細ビューにアクセスできます。

NSDictionary *aps = [userInfo objectForKey:@"aps"];
NSArray *array = [[aps objectForKey:@"acme"] componentsSeparatedByString:@","];
NSArray *fixtureArray = [[CreateFixture alloc] createFixtureWithArray:array andStyle:@"single"];

UINavigationController *navController = (UINavigationController *)self.window.rootViewController;
UIViewController *root = navController.topViewController;
FPViewController *vc = [[FPViewController alloc] init];
[vc createViewWithArray:fixtureArray];

NSArray *vcs = [NSArray arrayWithObjects:root, vc, nil];
[navController setViewControllers:vcs animated:YES];

アプリを完全に閉じて通知を送信すると、アプリがdidFinishLaunchingWithOptions期待どおりに開きます。次のifステートメントで同じコードを使用しています。

if (launchOptions != nil)
{
NSDictionary* dictionary = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
    if (dictionary != nil)
    {
        same code above
    }
}

しかし!!!今回は、詳細ビューが異なる xy と幅の高さで表示されます。だから、アプリは役に立たなくなります。一部のラベルとボタンは表示されず、一部のビューは大きくなり、他のビューの上に表示されます。İ 解決策が見つかりません 助けてください! (すべてのビュー、ラベル、ボタンなどはプログラムで作成されます) 横向きと縦向きのウィンドウに autoresizingMask を使用しています。そして、私はどんな提案にもオープンです。ご協力ありがとう御座います。

4

2 に答える 2

0

メソッドをオーバーライドすると、drawRectこの問題が解決すると思います。そして、 drawRect メソッドでフレームを設定します

于 2013-01-28T15:59:17.303 に答える
0

違いはわかりませんが、プッシュ詳細ビューのコードを変更すると問題が解決します。

ここに私の古いコードがあります

NSDictionary *aps = [userInfo objectForKey:@"aps"];
NSArray *array = [[aps objectForKey:@"acme"] componentsSeparatedByString:@","];
NSArray *fixtureArray = [[CreateFixture alloc] createFixtureWithArray:array andStyle:@"single"];

UINavigationController *navController = (UINavigationController *)self.window.rootViewController;
UIViewController *root = navController.topViewController; //delete
FPViewController *vc = [[FPViewController alloc] init];
[vc createViewWithArray:fixtureArray];

NSArray *vcs = [NSArray arrayWithObjects:root, vc, nil]; //delete
[navController setViewControllers:vcs animated:YES]; //delete

そして、ルートのビューコントローラーと setViewControllers: メソッドを削除します。

pushViewController: animation: メソッドを追加しました。

[navController pushViewController:vc animated:YES];

同じ問題を抱えている人が 5 日間失わないことを願っています。頑張ってください。

于 2013-01-30T10:03:58.220 に答える