Hallo!
Ich habe meine App (Objective-C) auf ARC umgestellt und im Wesentlichen funktioniert es.
Aber ich habe ein Problem mit einem Eingabedialog mit einem Picker und 2 Buttons, der als Subview mit [self.view addSubview:newView] über den aktiven Dialog gelegt wird.
Vor der Umstellung lief alles bestens und nun funktioniert zwar der Picker, aber die beiden Buttons werden nicht mehr angesprochen. (Haltepunkt wird nicht erreicht).
Wenn ich den Dialog über [self presentViewController:animated:completition] modal aufrufe, ist alles wieder ok. Aber dann verdeckt der Dialog die aktuelle Anzeige komplett und das soll nicht sein.
Daher ist die MainView der Dialogklasse transparent und nur den Datenbereich wird angezeigt.
Die Deklaration der Dialogklasse:
Alles anzeigen
Der Aufruf des Dialoges:
Alles anzeigen
Umgebung:
XCode 10.1
OS 10.13.6
iOS 12.1.2
Wie komme ich da wieder raus?
Ich habe meine App (Objective-C) auf ARC umgestellt und im Wesentlichen funktioniert es.
Aber ich habe ein Problem mit einem Eingabedialog mit einem Picker und 2 Buttons, der als Subview mit [self.view addSubview:newView] über den aktiven Dialog gelegt wird.
Vor der Umstellung lief alles bestens und nun funktioniert zwar der Picker, aber die beiden Buttons werden nicht mehr angesprochen. (Haltepunkt wird nicht erreicht).
Wenn ich den Dialog über [self presentViewController:animated:completition] modal aufrufe, ist alles wieder ok. Aber dann verdeckt der Dialog die aktuelle Anzeige komplett und das soll nicht sein.
Daher ist die MainView der Dialogklasse transparent und nur den Datenbereich wird angezeigt.
Die Deklaration der Dialogklasse:
Quellcode
- @interface FormPicker : UIViewController {
- id<PickerDialogProtocoll>pickerDelegate;
- }
- @property (retain, nonatomic) IBOutlet UIView *mainView;
- @property (nonatomic, strong) id<PickerDialogProtocoll>pickerDelegate;
- @property (retain, nonatomic) IBOutlet UIView *dataView;
- @property (retain, nonatomic) IBOutlet UIDatePicker *picker;
- @property (retain, nonatomic) IBOutlet UIButton *btnOK;
- @property (retain, nonatomic) IBOutlet UIButton *btnCancel;
- - (IBAction)clickOK:(id)sender;
- - (IBAction)clickCancel:(id)sender;
- -(void)configureModalInputDialogWithDelegate:(id<PickerDialogProtocoll>)aDelegate
- useDateFormat:(NSString*)aDateFormat
- usePickerMode:(UIDatePickerMode*)aPickerMode
- startWithDate:(NSDate*)aStartValue
- textOKButton:(NSString*)textOK
- textCancelButton:(NSString*)textCancel
- withColour:(UIColor*)aColour
- withAlpha:(float)aAlpha;
- @end
Quellcode
- FormPicker* formPicker = [[FormPicker alloc] init];
- [formPicker configureModalInputDialogWithDelegate:self
- useDateFormat:dateFormat
- usePickerMode:pickerMode
- startWithDate:date
- textOKButton:NSLocalizedString(@"btnSave", nil)
- textCancelButton:NSLocalizedString(@"btnCancel", nil)
- withColour:[UIColor grayColor]
- withAlpha:0.5];
- UIView *view = formPicker.view;
- CGRect mainrect = [self makeRectForPicker];
- view.frame = mainrect;
- [self.view addSubview:view];
- [self.view setNeedsDisplay];
Umgebung:
XCode 10.1
OS 10.13.6
iOS 12.1.2
Wie komme ich da wieder raus?