/ / Visualizzazione di un UIView personalizzato su trampolino di lancio (jailbreak) - object-c, uiview, jailbreak, theos, trampolino di lancio

Visualizzazione di un UIView personalizzato su Springboard (jailbreak) - obiettivo-c, uiview, jailbreak, theos, trampolino di lancio

Ho creato un UIView personalizzato a livello di codice. Qualcuno sa quale classe e quale metodo utilizzerei per visualizzarlo sul trampolino? Voglio che il mio UIView venga visualizzato sul trampolino di lancio e quando un utente apre un'app voglio che venga visualizzato anche lì. Ho cercato tra le intestazioni private per un po 'di tempo e non riesco a trovare quello che sto cercando. Sto sviluppando un tweak jailbreak con iosopendev. Potresti anche dirmi se la classe è un viewcontroller o solo una vista?

risposte:

2 per risposta № 1

Se vuoi che UIView venga visualizzato ovunque (su SpringBoard e nelle app), dovresti creare una nuova UIWindow sopra le altre e mostrare la tua vista in essa in questo modo:

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];

0 per risposta № 2

Puoi agganciare alcuni metodi di SpringBoard come:

- (void)applicationDidFinishLaunching:(id)arg1

E quindi, il tuo codice dovrebbe essere così:

- (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]];
}

Per aggiungere più visualizzazioni personalizzate, basta aggiungere una subview a _uiwindow. Spero che ti possa aiutare.