Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5

table view seperator bei einer Zelle ausblenden
#1

guten morgen zusammen Smiley

wie kann ich in einer tabelle bei nur einer zelle den seperator ausblenden?
Nutze xcode 6 und swift
Zitieren
#2

vielleicht hilft das:

http://johnszumski.com/blog/hiding-table...cell-basis
Zitieren
#3

so wie ich das sehen, kann man damit nur alle seperatoren ausblenden.
möchte aber nur von einer cell
Zitieren
#4

Glaube auf einer EntwicklerSeite bist du besser aufgehoben: https://osxentwicklerforum.de
Hier wird dir kaum jemand helfen können.
Zitieren
#5

@SpecialFighter
Bist Du Dir sicher? Wenn ich mir das so durchlese steht da eigentlich ganz eindeutig, dass er das auf einzelne Zellen anwendet. Leider scheinen seine "Tricks" immer nur bei einer bestimmten Software Version zu funktionieren.
Ansonsten: Kannst Du die Zellen welche ohne Seperator dargestellt werden sollen vielleicht in einer Zelle darstellen?
Zitieren
#6

warum wird dann diese Forenkategorie erstellt? oO
Zitieren
#7

Ich hab die Funktion von der Seite mal ausprobiert und es funktioniert. warum die Zelle zentriert wird habe ich nicht raus bekommen. 

   
Zitieren
#8

wie hast du das hinbekommen?
werde aus dem Arikel nicht schlau im Bezug auf iOS 8

wie muss der code aussehen?
Zitieren
#9

HI,

ich habe das so gemacht (rows ist ein Array mit meinen Daten 1,2,3...):

Code:
   override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
       let cell = tableView.dequeueReusableCellWithIdentifier("Row", forIndexPath: indexPath) as! UITableViewCell

//        Configure the cell...
       let text = rows[indexPath.row]
       cell.textLabel!.text = text
       if indexPath.row == 3 {
           cell.separatorInset =  UIEdgeInsetsMake(0, CGRectGetWidth(cell.bounds)/2.0, 0, CGRectGetWidth(cell.bounds)/2.0)
       }
       return cell
   }

Aber dabei wird meiner Meinung nach leider auch der Frame von der Zelle verändert und deshalb ist der Text in der Mitte.
Zitieren
#10

vielleicht sollte ich noch dazu sagen, dass ich eine static tabelle verwende.
habe den code wie folgt angepasst:

Zitat: override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("DatePickerCell", forIndexPath: indexPath) as! UITableViewCell

cell.separatorInset = UIEdgeInsetsMake(0, CGRectGetWidth(cell.bounds)/2.0, 0, CGRectGetWidth(cell.bounds)/2.0)

return cell
}


Allerdings bekomme ich folgende Fehlermeldung:

Zitat:[21023:3198456] *** Assertion failure in -[UITableView dequeueReusableCellWithIdentifier:forIndexPath:], /SourceCache/UIKit/UIKit-3347.44/UITableView.m:6245
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'unable to dequeue a cell with identifier DatePickerCell - must register a nib or a class for the identifier or connect a prototype cell in a storyboard'
*** First throw call stack:
(0x181d042d8 0x1935280e4 0x181d04198 0x182bb8ed4 0x1868bde84 0x100117cf0 0x100117ec8 0x186a45a68 0x186a39890 0x186825268 0x186741760 0x186089e1c 0x186084884 0x186084728 0x186083ebc 0x186083c3c 0x18607d364 0x181cbc2a4 0x181cb9230 0x181cb9610 0x181be52d4 0x18b3fb6fc 0x1867aafac 0x10011def4 0x193ba6a08)
libc++abi.dylib: terminating with uncaught exception of type NSException

im storyboard habe ich die zelle als DatePickerCell deklariert.
Zitieren
#11

Okay, das mit Static View klappt natürlich nicht in der Funktion wo die Zellen dynamisch zugefügt werden. Du musst eine eigene Klasse für deine Zelle erstellen:
Code:
//  TableViewCell.swift
//  TableView
//
//  Created by XXXXXXX on 21.06.15.
//  Copyright (c) 2015 Wakko. All rights reserved.
//

import UIKit

class Row: UITableViewCell {
   
   override func awakeFromNib() {
       super.awakeFromNib()
       
   }
   
   override func setSelected(selected: Bool, animated: Bool) {
       super.setSelected(selected, animated: animated)
         self.separatorInset =  UIEdgeInsetsMake(0, CGRectGetWidth(self.bounds)/2.0, 0, CGRectGetWidth(self.bounds)/2.0)

   }

}

Dann musst Du noch der Zelle die Klasse zuweisen:
   
Zitieren
#12

PERFEKT.
Vielen Dank Smiley
Zitieren
#13

@Wakko ich hatte ein ähnliches Problem und du konntest mir damit auch sehr weiterhelfen. Vielen Dank Smiley
Zitieren
#14

Bitte hole doch nicht Beiträge vor die teils über 3 Jahre alt sind. Die Themen dürften als erledigt angesehen werden da jeweils ca. 3 Jahre Funkstille war. Danke!
Zitieren
#15

@joerg09 gern geschehen, freut mich geholfen zu haben.
Zitieren




Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste