Объявление протокола с delgate & Datasource для UIPageController с ScrollView, имеющим несколько представлений на одной странице - PullRequest
2 голосов
/ 08 сентября 2011

Спасибо Jones & Apple за такие отличные и простые уроки, как другие !!! Но извините за такое длинное описание, иначе было бы очень сложно объяснить, что я ищу.

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

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

2) http://developer.apple.com/library/ios/#samplecode/PageControl/Introduction/Intro.html

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

- (void)setupPage; of Jones link

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

Структура будет выглядеть так:

-->UISrollView
    -->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.

enter image description here

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

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

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

Спасибо

1 Ответ

0 голосов
/ 26 сентября 2011

Дайте каждому меньшему представлению идентификатор (например, используйте 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
}

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

...