UITableView: å bevege en rad inn i en tom seksjon

stemmer
4

Jeg har en UITableViewmed noen tomme seksjoner. Jeg vil gjerne at brukeren skal kunne flytte en rad til dem ved hjelp av standard redigeringsmodus kontroller. Den eneste måten jeg kan gjøre det så langt er å ha en dummy rad i mine tomme seksjoner og prøver å skjule det ved hjelp av tableView:heightForRowAtIndexPath:å gi dummy rad en høyde på null. Dette ser ut til å forlate det som en en-pixel rad. Jeg kan sikkert skjule dette ved å gjøre en spesiell type celler som er bare fylt med [UIColor groupTableViewBackgroundColor], men er det en bedre måte?

Dette er alt i gruppert modus UITableView.

OPPDATERING: Ser ut som å flytte rader til tomme seksjoner er mulig uten noen triks, men følsomhet er ille nok at du trenger triks for å gjøre det brukbart for vanlige brukere (som ikke vil være tålmodig nok til å sakte sveve raden rundt den tomme delen før ting klikk).

Publisert på 17/03/2009 klokken 16:07
kilden bruker
På andre språk...                            


3 svar

stemmer
1

Jeg har funnet at i iOS 4.3, må det tomme raden for å ha en høyde på minst en piksel for å gi den ønskede effekten av å tillate en rad for å bli beveget inn i den seksjonen.

Jeg fant også at dummy rad er bare nødvendig i første og siste delen; noen deler i mellom har ikke dette problemet.

Og det ser ut som i iOS 5.0, er ingen dummy rader eller spesielle triks nødvendig i det hele tatt.

Svarte 20/12/2011 kl. 01:22
kilden bruker

stemmer
0

Jeg fant ut at hvis du går tilbake -1,0 fra heightForRowAtIndexPath metoden vil det fjerne en pixel linje.

Svarte 08/01/2011 kl. 12:16
kilden bruker

stemmer
0

Mens administrerende redigerings, kan du overvåke om tabellvisningen er i redigeringsmodus. Bruk som flagg inne cellForRowAtIndexPathtil å bestemme været eller ikke å vise 'blank' rad. Mens i 'vanlig' modus, vil raden ikke vises, men når brukeren kranene 'edit' cellForRowAtIndexPath bør få kalt igjen og denne gangen velger å vise rad. Detaljene om hvordan du gjør det avhenger av datakilden og hvordan du lime det til skjermen. Hvis du ikke får samtalen igjen, kan du manuelt injisere rader med insertRowsAtIndexPaths/ deleteRowsAtIndexPathsog / eller ringe reloadDatafor å tvinge en oppdatering.

Svarte 17/03/2009 kl. 16:24
kilden bruker

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