Я реализовал что-то подобное раньше, мой подход заключался в создании подкласса UIScrollView
и реализации некоторого пользовательского представления переработки и макета.Это было довольно просто реализовать, хотя все стало немного сложнее, когда я начал реализовывать анимацию.По сути, идея состоит в том, чтобы переопределить - (void)layoutSubviews
чем-то вроде:
- (void)layoutSubviews
{
[super layoutSubviews];
CGRect visibleBounds = [self bounds];
// calculate the range of visible views
// recycle any no longer visible views
// for any missing views, request them from the data source
}
Вам потребуется реализовать собственный источник данных и делегировать протоколы для любых ваших потребностей, мои были довольно просты.