Leere UITableViews / UX

Dem User entgegengehen...

In vielen Fällen kann es passieren, dass ohne jeglichen Fehler ein UITableView keine Einträge besitzt. Doch woran soll der Nutzer erkennen, dass kein Fehler vorliegt? - Das Ausbleiben einer Fehlermeldung ist in meinen Augen noch keine Bestätigung für den reibungslosen Ablauf. Daher sollte jeder UITableView mit einem Label versehen werden, dass Auskunft darüber gibt, ob ein tableview leer ist und sein soll, oder ob ein Anzeigefehler vorliegt.

Erweitert muss dabei lediglich eine einzige Methode werden:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

    if ([[self.fetchedResultsController sections] count] > 0) {
        return [[self.fetchedResultsController sections] count];
    }else{
        UILabel *bgndLabel         = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, tableView.bounds.size.height)];
        bgndLabel.text             = @"No CounterHDs available";
        bgndLabel.textColor        = [UIColor blackColor];
        bgndLabel.textAlignment    = NSTextAlignmentCenter;
        tableView.backgroundView = bgndLabel;
        tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    }

    return 0;
}

Quelle: Die Idee zum Code stammt nicht aus eigener Arbeit sondern wurde maßgeblich durch http://stackoverflow.com/questions/28532926/if-no-table-view-results-display-no-results-on-screen inspiriert.

Previous Post Next Post