2016-09-18 3 views
3

Wann immer ich eine Tabelle erstellen, wird es eine Zeile am unteren Rand der letzten Zelle, gibt es eine Methode, um es zu entfernen? Ich verwende nicht die Xib oder Storyboard, also zeig mir bitte den Code. Vielen Dank!Wie die untere Zeile von UITableView in iOS

Leider habe ich nicht die Situation beschreiben, hat klar, hier ist der Screenshot, ich habe zwei Abschnitte in diesem Tableview, und es gibt eine Linie am unteren Rand der letzten Zelle

Here is screenshot

+3

Bitte zeigen Sie den Screenshot. –

+0

Wie viele Abschnitte? – Jamil

+0

Ihre Frage ist nicht klar. Normalerweise wird keine solche Linie angezeigt, wenn wir eine Tabellenansicht entwerfen. So bieten Screenshot und ein wenig beschreibenden – Janmenjaya

Antwort

0

Sie können Entwerfen Sie Ihre eigene benutzerdefinierte Fußzeile für UITableView Aber ich glaube nicht standardmäßig tableView Fußzeile anzeigen. Da Ihre Frage unklar ist und Sie keinen Screenshot oder etwas anderes zur Verfügung stellen. Erstellen Sie Ihre benutzerdefinierte Ansicht mit den gewünschten Farbinhalten und weisen Sie sie dann Ihrem TableView zu.

self.tableView.tableFooterView = customFooterView; 

Oder vielleicht möchten Sie sich verstecken/entfernen Sie den Tableview LineSeparator Es gibt zwei einfachste Ansätze, dies zu tun. Weisen Sie dem Trennzeichen entweder eine klare Farbe zu oder weisen Sie dem Trennzeichen keine Farbe zu.

self.tableView.separatorStyle = UITableViewSeparatorStyleNone; 

oder

self.tableView.separatorColor = [UIColor clearColor]; 
-1

Für letzte Zeile dh letzten Separator von Tableview zu entfernen, müssen Sie in UIViewDidload Code unten verwenden

tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero]; 

ODER

if (indexPath.section == 1 && indexPath.row == 1) 
{ 
    tableView.separatorStyle = UITableViewCellSeparatorStyleNone; 
} 
else 
{ 
    tableView.separatorStyle = UITableViewCellSeparatorStyleDefault; 
} 
+0

Ja, ich habe es versucht, aber es hat nicht funktioniert. Die Linie ist immer noch da. – Jeremy

+0

Gemäß Ihrem Screenshot müssen Sie die Bedingung für die letzte Zeile übernehmen. Und innerhalb dieser Bedingung müssen Sie diese tableView.separatorStyle = UITableViewSeparatorStyleNone; – Abha

+0

Ich habe getan, was Sie gesagt haben, hier ist mein Code in der 'cellForRowAtIndexPath' Methode' if (indexPath.section == 1 && indexPath.row == 1) { tableView.separatorStyle = UITableViewCellSeparatorStyleNone; } ', aber das Ergebnis ist, dass jede Zelle die Grundlinie entfernt wurde. Ich weiß nicht, ob diese separatorStyle-Eigenschaft so verwendet werden kann. – Jeremy

1

Die Lösung ist wirklich einfach, wenn Sie nur eine Gewohnheit nehmen Zelle.

Zum einen ziehen und eine Zelle im Tableview fallen lassen und dann die Tableview auswählen, um es Separator als None zu machen wie-

enter image description here

Dann wird die eine Klasse oben die Gewohnheit UITableViewCell zuordnen.

enter image description here

Im TableViewCell in Storyboard, nehmen Sie Ihre gewünschten Objekte wie Lables, Bilder oder was auch immer Sie brauchen. Stellen Sie jetzt sicher, dass Sie eine UIView von 1 px am unteren Rand der Zelle nehmen. Verbinden Sie die Ausgänge und fügen Sie die erforderlichen Einschränkungen hinzu.

enter image description here

Ihre benutzerdefinierte Klasse kann wie folgt aussehen -

CustomTableViewCell.h

datei
#import <UIKit/UIKit.h> 

@interface CustomTableViewCell : UITableViewCell 

@property(nonatomic, strong) IBOutlet UILabel *customTextLabel; 
@property(nonatomic, strong) IBOutlet UIView *separatorView; 

@end 

Jetzt im View-Controller, ein- oder ausblenden nur das Trennzeichen in der unteren Zeile Ihres Sektion.

Ihre Datenquelle Methoden können also aussehen wie-

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ 
    return 2; 
} 
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ 
    if(section == 0){ 
     return 2; 
    } 
    else{ 
     return 1; 
    } 
} 

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 
    CustomTableViewCell *cell = (CustomTableViewCell*)[tableView dequeueReusableCellWithIdentifier:@"sampleCell"]; 

    if(indexPath.section == 0 && indexPath.row == 1){ 
     cell.separatorView.hidden = YES; 
    } 
    else if (indexPath.section == 1 && indexPath.row == 0){ 
     cell.separatorView.hidden = YES; 
    } 
    else{ 
     cell.separatorView.hidden = NO; 
    } 
    cell.customTextLabel.text = @"Test"; //put whatever you want 
    return cell; 
} 

Sie sollten dies hilft, einen Ausblick wie-

enter image description here

Hoffnung bekommen.

Verwandte Themen