2017-11-22 3 views
0

Ich bin UIButton auf UIAlertController hinzufügen, aber es feuert die Methode auf keine Ereignisse.iOS - UIButton als Subview auf UIAlertController nicht feuern Ereignisse

UIButton *cancelBtn = [UIButton buttonWithType:UIButtonTypeCustom]; 
[cancelBtn setFrame:CGRectMake((_alertController.view.frame.size.width/2)-30, _alertController.view.frame.size.height-50, 60, 30)]; 
[cancelBtn setTitle:@"Cancel" forState:UIControlStateNormal]; 
[cancelBtn setTitleColor:[UIColor blueColor] forState:UIControlStateNormal]; 
[cancelBtn setBackgroundColor:[UIColor orangeColor]]; 
[cancelBtn addTarget:self action:@selector(forceFullDismiss_FireDelegate:) forControlEvents:UIControlEventTouchUpInside]; 
cancelBtn.showsTouchWhenHighlighted = YES; 

[_alertController.view setUserInteractionEnabled:YES]; 
[_alertController.view addSubview:cancelBtn]; 

Die Schaltfläche scheint hervorgehoben zu sein, aber die entsprechenden Ereignisse werden nicht ausgelöst.

Was ist das Problem hier?

+0

verwenden und es gibt keinen Fehler über ein Ziel? Breakpoint hört einfach nicht auf 'forceFullDismiss_FireDelegate' auf? –

+0

Keine Fehler. Ja, der Haltepunkt stoppt nicht bei forceFullDismiss_FireDelegate – Hassy

Antwort

1

Dies ist von UIAlertControllerdocumentation.

Die UIAlertController-Klasse ist so konzipiert, dass sie unverändert verwendet werden kann und unterstützt keine Unterklassen. Die Ansichtshierarchie für diese Klasse ist privat und darf nicht geändert werden.

Wenn Sie eine Löschtaste hinzufügen möchten, können Sie

UIAlertAction* cancel = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) { 
    // action on cancel 
}]; 

[_alertController addAction:cancel]; 
Verwandte Themen