UITableView: pohybující se řádek do prázdné místo

hlasů
4

Mám UITableViews několika prázdnými úseky. Rád bych, aby byl uživatel schopen se pohybovat řádek do nich pomocí standardních ovládacích prvků režimu úprav. Jediný způsob, jak mohu udělat to tak daleko, je mít fiktivní řádek v mých „prázdné“ sekcí a se ji snaží skrývat pomocí tableView:heightForRowAtIndexPath:dát figuríny řádka výšku nula. Zdá se, že ponechat jako řádek 1 pixel. Mohu snad skrývat to tím, že zvláštní druh buňky, která se právě naplněné [UIColor groupTableViewBackgroundColor], ale existuje lepší způsob?

To vše je v seskupené režimu UITableView.

UPDATE: Vypadá to, že pohybující se řádky do prázdných úseků je možné bez jakýchkoli triků, ale „citlivost“ je dost špatné, že vy potřebujete triky, aby bylo použitelné pro běžné uživatele (který nebude stačit pacient pomalu vznášet řádek kolem prázdného úseku až do věcí na tlačítko).

Položena 17/03/2009 v 17:07
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
1

Zjistil jsem, že v iOS 4.3, figurína řádek musí mít výšku alespoň 1 pixel za účelem poskytnutí požadovaného účinku umožňuje řádek, které mají být přesunuty do této části.

Také jsem zjistil, že dummy řádek je potřeba pouze v prvním a posledním úseku; všechny oddíly mezi nimi nemají tento problém.

A vypadá to, že v iOS 5.0, nejsou potřeba žádné fiktivní řádky nebo speciální triky vůbec.

Odpovězeno 20/12/2011 v 02:22
zdroj uživatelem

hlasů
0

Zjistil jsem, že když se vrátí -1.0 ze způsobu heightForRowAtIndexPath bude odstranit jeden pixel širokou čáru.

Odpovězeno 08/01/2011 v 13:16
zdroj uživatelem

hlasů
0

Při řízení upravovat, můžete sledovat v případě, že pohled na tabulku v editačním módu. Použít tento příznak uvnitř cellForRowAtIndexPathrozhodnout, počasí, nebo ne zobrazit ‚prázdné‘ řádek. Zatímco v ‚standardní‘ režim, řádek nebude zobrazovat, ale když ‚upravit‘ cellForRowAtIndexPath uživatelské kohoutků by měly dostat volal znovu a tentokrát se rozhodnou pro zobrazení řádku. Podrobnosti o tom, jak to udělat, závisí na zdroji dat a jak jste lepení ji na displeji. Pokud nejste znovu dostat hovor, můžete ručně aplikovat řádky s insertRowsAtIndexPaths/ deleteRowsAtIndexPathsa / nebo volejte reloadDatavynutit aktualizaci.

Odpovězeno 17/03/2009 v 17:24
zdroj uživatelem

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