Объявление протокола с делегатом и источником данных для UIPageController с ScrollView, имеющим несколько представлений на одной странице

Я слежу за этими кодами из

1) http://code.davidjanes.com/blog/2009/09/26/uipagecontrol-uiscrollview/#comment-955

2) https://developer.apple.com/library/archive/samplecode/PageControl/Introduction/Intro.html

Теперь то, что я хочу реализовать в своем приложении, следуя этому примеру, настраиваемым способом: (CustomController of MyOwn)

- (void)setupPage; of Jones link

Я хочу иметь несколько небольших представлений, таких как кубы / судоку ... в каждом представлении Scrollview, а не ImageView и предоставление события каждому небольшому представлению. Я считаю, что на каждой странице ScrollView будет около 20 просмотров. Как я могу реализовать это, создав свои собственные протоколы, определяя источники данных и методы делегирования.

Структура будет такой:

-->UIScrollView
    -->View1
        -->around 20 smallViews with each having events so that user can move to next view to show detail explanation.
    -->View1
        -->around 20 smallViews with each having events so that user can move to next view to show detail explanation.

    -->View1
        -->around 20 smallViews with each having events so that user can move to next view to show detail explanation.

    …n number of Views.

введите описание изображения здесь

Такие экраны будут на каждой странице Scrollview. Как с этим справиться, создав новый класс Tile, который сам является представлением.

Хотя я уверен, что буду делать это по-своему, но это похоже на метод царапин и называется очень плохим программированием. Но я хочу сделать это более разумным способом, чтобы я мог использовать то же самое в других классах, чтобы уменьшить количество кода и произвести хорошее впечатление на моего Клиента;)

Кроме того, я знаю, что здесь мне придется позаботиться об управлении памятью!


person Ajay Sharma    schedule 08.09.2011    source источник


Ответы (1)


Дайте каждому меньшему представлению идентификатор (например, используйте UIView надлежащий tag), затем в своем делегате / источнике данных / и т. Д. Просто сделайте то, что соответствует любому представлению, которое вы хотите. Пример:

// In view setup:
// ... (your other setup)
someSmallView.tag = ++nextIndex;

// ...

// In delegate code:
switch (scrollView.tag)
{
    case 1:
        // ... blah blah
        break;
    case 2:
        // ... etc
}

ПРИМЕЧАНИЕ: если вы используете построитель интерфейса для создания своего представления, вы можете установить тег там.

person Olie    schedule 26.09.2011