2013-02-11 8 views
7

Ich verwende Standard EKEventEditViewController in meiner App und ich möchte es anpassen, derzeit zeigt es alle Felder, die in Standard EKEventEditViewController kam, aber ich möchte URL-Feld nicht anzeigen und auch Zeitzone Feld hinzufügen möchten . Kann ich das tun, und wenn ja, bitte lassen Sie mich wissen, wie kann ich das tun? enter image description hereWie EKEventEditViewController anpassen

Antwort

4

Sie diesen Auszug verwenden:

1) machen Sie Ihren Viewcontroller den Delegaten Ihrer EKEventEditViewController

EKEventEditViewController *addController = [[EKEventEditViewController alloc] init]; 
addController.delegate = self; 

2) dann diese Steuerung auf Ihrer Ansicht implementieren:

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated { 
    if ([viewController isKindOfClass:[UITableViewController class]]) { 
     UITableView *tableView = ((UITableViewController *)viewController).tableView; 

    for (NSInteger j = 0; j < [tableView numberOfSections]; ++j) 
    { 
     for (NSInteger i = 0; i < [tableView numberOfRowsInSection:j]; ++i) 
     { 
      UITableViewCell *cell = [tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:j]]; 

      NSLog(@"cell => %@, row => %d, section => %d", cell.textLabel.text, i, j); 

      if([cell.textLabel.text isEqualToString:@"Calendar"]) { 
       [cell removeFromSuperview]; 
      } else if(j == 5) { // If URL Field 
       [cell removeFromSuperview]; 
      } 
     } 
    } 
} 

}

Hinweis: Ich habe dies zuvor in einer anderen Stackoverflow-Antwort gefunden und in meinem Projekt implementiert. Ich habe den Link vergessen. Hoffe, das hilft und dank der ursprünglichen Antwort, wo ich das bekommen habe.

+0

Danke! Es funktioniert für sichtbare Zeilen, wenn ich scroll de TableView die Zeilen erscheinen wieder, vielleicht wegen der CellForRow-Methode .. eine andere Lösung !? Vielen Dank! – Frade

+0

Die Zelle protokolliert (null) für diejenigen, die nicht in der Ansicht angezeigt werden. irgendwelche Korrekturen dafür? –