UITableView: μετακίνηση μιας σειράς σε ένα άδειο τμήμα

ψήφοι
4

Έχω ένα UITableViewμε κάποια κενά τμήματα. Θα ήθελα ο χρήστης να είναι σε θέση να κινηθεί μια σειρά σε αυτά με τη χρήση των κατ 'αποκοπή ελέγχους λειτουργία επεξεργασίας. Ο μόνος τρόπος που μπορώ να το κάνω τώρα είναι να έχουμε μια εικονική γραμμή κατά τη γνώμη μου «κενά» τμήματα και να προσπαθήσουμε να το κρύψει από τη χρήση tableView:heightForRowAtIndexPath:για να δώσει την εικονική σειρά σε ύψος μηδέν. Αυτό φαίνεται να το αφήσουμε ως μια σειρά 1-pixel. Μάλλον μπορεί να κρύψει αυτό κάνοντας ένα ειδικό τύπο κυττάρου που μόλις γεμίζουν με [UIColor groupTableViewBackgroundColor], αλλά είναι ο καλύτερος τρόπος;

Αυτό είναι όλα στο ομαδοποιούνται τρόπο UITableView.

UPDATE: Μοιάζει με κινούμενα σειρές σε άδειο τμήματα είναι δυνατόν χωρίς κόλπα, αλλά η «ευαισθησία» είναι αρκετά κακό ότι χρειάζεται κόλπα για να μπορεί να χρησιμοποιηθεί για γενικούς χρήστες (οι οποίοι δεν θα είναι αρκετά υπομονετικοί για να αιωρείται σιγά-σιγά τη σειρά γύρω από το άδειο τμήμα μέχρι τα πράγματα κλικ).

Δημοσιεύθηκε 17/03/2009 στις 17:07
πηγή χρήστη
Σε άλλες γλώσσες...                            


3 απαντήσεις

ψήφοι
1

Διαπίστωσα ότι στο iOS 4.3, η εικονική σειρά πρέπει να έχει ύψος τουλάχιστον 1 pixel προκειμένου να δοθεί το επιθυμητό αποτέλεσμα του επιτρέπει μια σειρά που πρόκειται να μετακινηθούν σε εκείνο το τμήμα.

Βρήκα επίσης ότι η εικονική γραμμή χρειάζεται μόνο στο πρώτο και το τελευταίο τμήμα? οποιαδήποτε τμήματα στο μεταξύ δεν έχουν αυτό το πρόβλημα.

Και μοιάζει με το iOS 5.0, δεν εικονική γραμμές ή ειδικές κόλπα που απαιτούνται καθόλου.

Απαντήθηκε 20/12/2011 στις 02:22
πηγή χρήστη

ψήφοι
0

Βρήκα ότι αν επιστρέψει -1.0 από τη μέθοδο heightForRowAtIndexPath θα αφαιρέσει τη γραμμή 1 pixel.

Απαντήθηκε 08/01/2011 στις 13:16
πηγή χρήστη

ψήφοι
0

Ενώ η διαχείριση της επεξεργασίας, μπορείτε να παρακολουθείτε αν η άποψη πίνακας είναι σε λειτουργία επεξεργασίας. Χρησιμοποιήστε αυτή την σημαία στο εσωτερικό του cellForRowAtIndexPathγια να αποφασίσει τον καιρό ή να μην εμφανιστεί το «κενό» γραμμή. Ενώ στο «κανονικό» τρόπο, η σειρά δεν θα εμφανιστεί, αλλά όταν «επεξεργασία» cellForRowAtIndexPath τις βρύσες χρήστης θα πρέπει να ονομάζεται και πάλι και αυτή τη φορά να αποφασίσει για να εμφανιστεί η γραμμή. Οι λεπτομέρειες για το πώς να το κάνουμε αυτό εξαρτάται από την πηγή δεδομένων σας και πώς θα το κόλλημα στην οθόνη. Αν δεν πάρει και πάλι την κλήση, μπορείτε να κάνετε την ένεση με το χέρι σειρές με insertRowsAtIndexPaths/ deleteRowsAtIndexPathsκαι / ή να καλέσετε reloadDataγια να αναγκάσει μια ανανέωση.

Απαντήθηκε 17/03/2009 στις 17:24
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more