Хороший способ обеспечить видимость нижней части вашего контента - использовать формулу:
contentOffsetY = MIN(0, contentHeight - boundsHeight)
Это гарантирует, что нижний край вашего контента всегда находится у нижнего края представления или над ним. MIN(0, ...)
требуется, потому что UITableView
(и, вероятно, UIScrollView
) обеспечивает contentOffsetY >= 0
, когда пользователь пытается прокрутить, визуально щелкая contentOffsetY = 0
. Это выглядит довольно странно для пользователя.
Код для реализации этого:
UIScrollView scrollView = ...;
CGSize contentSize = scrollView.contentSize;
CGSize boundsSize = scrollView.bounds.size;
if (contentSize.height > boundsSize.height)
{
CGPoint contentOffset = scrollView.contentOffset;
contentOffset.y = contentSize.height - boundsSize.height;
[scrollView setContentOffset:contentOffset animated:YES];
}