UIAlertController mit UIDatePicker

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • UIAlertController mit UIDatePicker

    Hallo,

    als solches ist das von Apple nicht angedacht - ich weiß…

    Hat jemand dazu einen Tipp?
    Fremde Frameworks etc. möchte ich nehmen.

    Sie Code unten und Bild, wie es derweil aussieht.
    Hat jemand ne kluge Idee zum Positionieren?

    Viele Grüße

    Quellcode

    1. -(BOOL)updateDatePickerForPreparedAlertController:(UIAlertController*)alertController
    2. {
    3. // …
    4. if(alertController == nil)
    5. {
    6. return NO;
    7. }
    8. // …
    9. NSString *string = [alertController message];
    10. if(string == nil)
    11. {
    12. string = [NSString string];
    13. }
    14. // …
    15. string = [string stringByAppendingString:@"\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"];
    16. if([string length] < 1)
    17. {
    18. return NO;
    19. }
    20. // …
    21. [alertController setMessage:string];
    22. // …
    23. UIView *view = [alertController view];
    24. if(view == nil)
    25. {
    26. return NO;
    27. }
    28. // …
    29. NSDate *date = [NSDate date]; // TODO
    30. if(date == nil)
    31. {
    32. return NO;
    33. }
    34. // …
    35. UIDatePicker *datePicker = [[[UIDatePicker alloc] initWithFrame:CGRectZero] autorelease];
    36. if(datePicker == nil)
    37. {
    38. return NO;
    39. }
    40. // …
    41. [view addSubview:datePicker];
    42. // …
    43. [datePicker setDate:date
    44. animated:NO];
    45. [datePicker setDatePickerMode:UIDatePickerModeDate];
    46. [datePicker setTranslatesAutoresizingMaskIntoConstraints:NO];
    47. // …
    48. NSDictionary *dictionary = NSDictionaryOfVariableBindings(datePicker);
    49. if([dictionary count] < 1)
    50. {
    51. return NO;
    52. }
    53. // …
    54. NSArray *array = nil;
    55. // …
    56. {
    57. // …
    58. array = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[datePicker]-|"
    59. options:0
    60. metrics:nil
    61. views:dictionary];
    62. if([array count] < 1)
    63. {
    64. return NO;
    65. }
    66. // …
    67. [view addConstraints:array];
    68. // …
    69. }
    70. // …
    71. {
    72. // …
    73. array = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[datePicker]"
    74. options:0
    75. metrics:nil
    76. views:dictionary];
    77. if([array count] < 1)
    78. {
    79. return NO;
    80. }
    81. // …
    82. [view addConstraints:array];
    83. // …
    84. }
    85. // …
    86. return YES;
    87. // …
    88. }
    Alles anzeigen
    Dateien
  • Ich habe es derweil andes gebaut:

    - TextFeld hinzugefügt
    - Cursor ausgeblendet
    - Text zentriert
    - Delgeage …changeChar… hinzugefügt und gibt NO zurück
    - dem TextFeld ein InputView vom DatePicker gegeben

    So funktioniert das sehr gut, aber die erste "Lösung" würde ich wesentlich schöner finden, da die Eingabe gleich die Anzeige wäre.

    Viele Grüße
    Dateien
  • Wieso sind denn eigentlich alle so erpicht darauf den AlerViewController zu verwurschten???

    MAch doch einfach einen eigenen View das ist doch überhaupt nicht mehr aufwand und Du kannst da reinsetzen und positionieren und events verwalten wie du lustig bist.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)