Как я могу сделать вертикальный слайдер в Swift?

Очевидно, что, как отметили другие пользователи, это сложная проблема, поэтому, к сожалению, это было долгое время, и в стандартной библиотеке все еще нет решения. Тем не менее, существуют уже имеющиеся библиотеки библиотек, такие как Boost :: Range и один в библиотечных библиотеках Adobe, которые обеспечивают не только простоту интерфейса, который вы описываете в своем вопросе, но и некоторые особенности fancier.

Ваш пример отлично работает с Boost (мы using namespace boost::range::adaptors ниже):

boost::for_each(myVector, doSomething);

Мы также можем быстро и легко срезать myVector:

boost::for_each(myVector | sliced(10, 20), doSomething)

Мы можем даже zip myVector с другим, фильтровать по предикату и пробовать каждый другой элемент результирующих пар в одном простом заявлении (для этого требуется, чтобы вы распаковывали в doSomethingElse кортежи, созданные boost::combined):

boost::for_each( boost::combined(myVector, myOtherVector) | strided(2), doSomethingElse)

13
задан cross 20 April 2015 в 01:32
поделиться