Сгруппированные причуды анимации строки UITableView

Я вижу и некоторых определенных для SQL Server и некоторый MySQL определенные решения здесь, таким образом, Вы могли бы хотеть разъясниться, в какой базе данных Вы нуждаетесь. Хотя, если бы я должен был предположить, что сказал бы SQL Server, так как это тривиально в MySQL.

я также вижу некоторые решения, которые не будут работать, потому что они не удаются принять во внимание возможность для дубликатов, так осторожны, которые Вы принимаете. Наконец, я вижу некоторых, которые будут работать, но это сделает два полных сканирования таблицы. Вы хотите удостовериться, что 2-е сканирование только смотрит на 2 значения.

SQL Server (пред2012):

SELECT MIN([column]) AS [column]
FROM (
    SELECT TOP 2 [column] 
    FROM [Table] 
    GROUP BY [column] 
    ORDER BY [column] DESC
) a

MySQL:

SELECT `column` 
FROM `table` 
GROUP BY `column` 
ORDER BY `column` DESC 
LIMIT 1,1

Обновление:

SQL Server 2012 теперь поддерживает намного более чистый (и стандарт ) синтаксис СМЕЩЕНИЯ/ВЫБОРКИ:

SELECT TOP 2 [column] 
FROM [Table] 
GROUP BY [column] 
ORDER BY [column] DESC
OFFSET 1 ROWS
FETCH NEXT 1 ROWS ONLY;

8
задан Glorfindel 1 April 2019 в 23:00
поделиться

4 ответа

If you remove, add and/or move several rows in a UITableView at the same time, then you must enclose all these calls with beginUpdates and endUpdates. Otherwise the result is undetermined.

For example:

[tableView beginUpdates];
[tableView insertRowsAtIndexPaths:newRows 
                    withAnimation:UITableViewRowAnimationTop];
[tableView deleteRowsAtIndexPaths:invalidRows:
                    withAnimation:UITableViewRowAnimationTop];
[tableView endUpdates];
12
ответ дан 5 December 2019 в 14:05
поделиться

Я не совсем уверен, что выглядит плохо. Трудно сказать по статическому изображению.

К сожалению, у вас нет контроля над анимацией вставки / удаления в представлениях таблиц. Все это обрабатывается высокоуровневым UITableView API.

Единственный другой вариант - выполнять анимацию отдельно и последовательно и смотреть, выглядит ли это лучше. Я сделал это для устранения некоторых артефактов.

Также попробуйте разные анимации, такие как постепенное появление / исчезновение. Не так броско, но в некоторых ситуациях выглядит лучше.

0
ответ дан 5 December 2019 в 14:05
поделиться

Я без проблем использовал анимацию в сгруппированном табличном представлении, и она всегда выглядела великолепно. Как насчет того, чтобы поделиться частью кода? Может быть, вы делаете что-то не так в здании камеры ... или, хотя это маловероятно, при вставке строк.

0
ответ дан 5 December 2019 в 14:05
поделиться

Как уже говорили другие, публикация кода поможет.

Вы уже выполняете несколько операций вставки / удаления внутри блока beginUpdates / endUpdates ?

0
ответ дан 5 December 2019 в 14:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: