プログラムでカスタムUIViewを作成しました。 誰がこれをスプリングボードに表示するために使用するクラスとメソッドを知っていますか? UIViewをスプリングボードに表示したいのですが、ユーザーがアプリを開いたときにそこにも表示したいのです。私はしばらくの間プライベートヘッダーを検索してきましたが、探しているものを見つけることができません。私はiosopendevで脱獄の微調整を開発しています。また、クラスがViewControllerなのかビューだけなのか教えてもらえますか?
回答:
回答№1は2UIViewを(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];
回答№2の場合は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
。それがあなたを助けることを願っています。