iPhone4 iOS5 Advanced ScrollView методы: перетащите кнопку с длинным нажатием - PullRequest
1 голос
/ 21 ноября 2011

Я помню, что в одном из видеороликов WWDC 2011, посвященном просмотру прокрутки, была демонстрация, в которой ведущая (Элиза) продемонстрировала, как бесконечно прокручивать прокрутку просмотра. В демонстрации использовалась куча предварительно сгенерированных домов и луна.

Вот ссылка на слайды, но я не вижу демоверсию домов или соответствующий код. http://adcdownload.apple.com//wwdc_2011/adc_on_itunes__wwdc11_sessions__pdf/104_advanced_scroll_view_techniques.pdf

вот код, который у них есть, но это не демонстрация с домами и луной: http://developer.apple.com/library/ios/samplecode/StreetScroller/Introduction/Intro.html

В этой демонстрации меня интересует то, как Элиза смогла поднять луну длинным нажатием и расположить ее в любом месте на UIScrollView. Я хотел бы добавить похожую технику в свое приложение.

Я проверил исходный код для продвинутых методов прокрутки, и у него нет этого примера.

Может кто-нибудь помочь мне узнать, как подобрать UIControl, перетащить и расположить его в любом месте в представлении хостинга, используя longpress?

Обновление:

Я нашел этот код:

[button addTarget:self action:@selector(draggedOut:withEvent: ) forControlEvents: UIControlEventTouchDragOutside | UIControlEventTouchDragInside];

- (void) draggedOut: (UIControl *) c withEvent: (UIEvent *) ev {

    c.center = [[[ev allTouches] anyObject] locationInView:self.markerView];
}

Это поднимает и позиционирует кнопку, однако кнопка также активируется в результате касания. Событие перетаскивания начинается почти сразу, хотя я хотел бы иметь по крайней мере секунду задержки и эффект масштабирования, чтобы показать, что кнопка была выбрана.

Любая помощь приветствуется!

1 Ответ

1 голос
/ 22 ноября 2011

Я не уверен, но, возможно, подкласс UIButton поможет вам В Stackoverflow

Или в Isignmeout учебники для этого.

...