Ho un pulsante che ho creato a livello di programmazione in un controller di visualizzazione. Una volta premuto il pulsante, voglio che utilizzi un metodo per creare il popover a livello di codice.Come visualizzare un popover a livello di codice da un pulsante Uibutton creato anche a livello di codice (Non utilizzando il generatore di interfacce)
Il pulsante che si crea nel viewDidLoad a mio avviso controller.m
UIView *moreFundInfoView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 540, 620)];
[self.view addSubview:moreFundInfoView];
[moreFundInfoView setBackgroundColor:[UIColor RMBColor:@"b"]];
btnContact = [UIButton buttonWithType:(UIButtonTypeRoundedRect)];
[btnContact setFrame:CGRectMake(390, 575, contactButton.width, contactButton.height)];
btnContact.hidden = NO;
[btnContact setTitle:@"Contact" forState:(UIControlStateNormal)];
[moreFundInfoView addSubview:btnContact];
[btnContact addTarget:self action:@selector(showContactDetails:) forControlEvents:UIControlEventTouchUpInside];
allora ho il metodo che uso quando si preme il pulsante.
-(void) showContactDetails: (id) sender
{
UIViewController *popoverContent = [[UIViewController alloc]init];
UIView *popoverView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 200, 300)];
[popoverView setBackgroundColor:[UIColor RMBColor:@"b"]];
popoverContent.view = popoverView;
popoverContent.contentSizeForViewInPopover = CGSizeMake(200, 300);
UIPopoverController *contactPopover =[[UIPopoverController alloc] initWithContentViewController:popoverContent];
[contactPopover presentPopoverFromRect:btnContact.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES ];
[contactPopover setDelegate:self];
}
Che cosa mi manca qui? Perché funziona bene, ma non appena faccio clic sul pulsante l'app si blocca. Penso che sia un problema dei delegati, ma non ne sono sicuro. Tutto il consiglio sarebbe apprezzato.
potresti darci il registro di emergenza? Sarebbe utile sapere dove il problema è –
@ValentinRocher ancora un po 'di n00b, ma questo è l'output quando si blocca. appname- [dealloc UIPopoverController] raggiunto mentre il popover è ancora visibile./-[UliminatoUliminazioneUIPopoverController] mentre il popover è ancora visibile. – Berns
Ciao, sono riuscito a sistemarlo, beh, anche un po 'troppo. Ho appena modificato la proprietà di UIPopoverController e funziona, solo che punta verso il basso anziché su, ma viene visualizzato almeno e l'app non si arresta in modo anomalo. – Berns