1

プログラムでカスタム UIView を作成しました。これをスプリングボードに表示するためにどのクラスとどのメソッドを使用するか知っている人はいますか? UIView をスプリングボードに表示したいのですが、ユーザーがアプリを開いたときに、そこにも表示されるようにしたいと考えています。しばらくの間、プライベート ヘッダーを検索してきましたが、探しているものが見つからないようです。私はiosopendevで脱獄の微調整を開発しています。また、クラスがビューコントローラーなのか単なるビューなのか教えていただけますか?

4

2 に答える 2

2

UIView をどこにでも (SpringBoard およびアプリ内で) 表示したい場合は、他の UIWindow の上に新しい UIWindow を作成し、次のようにビューを表示する必要があります。

UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
window.windowLevel = UIWindowLevelAlert + 2;
[window setHidden:NO];
[window setAlpha:1.0];
[window setBackgroundColor:[UIColor clearColor]];
[window addSubview:yourView];
于 2014-05-07T16:36:28.117 に答える
0

次のような SpringBoard のいくつかのメソッドをフックできます。

- (void)applicationDidFinishLaunching:(id)arg1

そして、コードは次のようになります。

- (void)applicationDidFinishLaunching:(id)arg1
{
    %orig;
    NSLog(@"----- applicationDidFinishLaunching -----");
    UIWindow *_uiwindow = [[UIWindow alloc] initWithFrame:CGRectMake(100,100,120,100)];
    _uiwindow.windowLevel = UIWindowLevelStatusBar;
    _uiwindow.hidden = NO;
    [_uiwindow setBackgroundColor:[UIColor redColor]];
}

カスタム ビューをさらに追加するには、サブビューを に追加するだけ_uiwindowです。それがあなたを助けることを願っています。

于 2015-05-22T02:05:39.547 に答える