Domanda

sto per iniziare una nuova applicazione per iPhone che richiede una certa funzionalità, ma non sono sicuro se è fattibile. Sono disposto a ricerca, ma prima volevo solo sapere se devo almeno prendere in considerazione o meno.

Non ho visto questo in un app prima (che è la mia principale preoccupazione, anche se non ho visto troppe applicazioni dal momento che non possiedo un iPhone), ma un esempio potrebbe essere l'iPhone scorciatoie da pannelli: si può tenere su un app, e poi trascinarlo in un altro pannello, spazzare mentre ancora trascinandolo. Ma questo è l'applicazione di base, è possibile riprodurre qualcosa di simile all'interno di un'applicazione normale?

Ho solo bisogno di essere sicuri che può essere fatto prima di iniziare a scavare, non ho bisogno di esempi di codice o altro, ma se si dispone di alcune risorse esatte che si considera utile, che sarebbe apprezzato.

Grazie!

È stato utile?

Soluzione

Sì. Se avete l'istanza sottoclasse UIView personalizzato all'interno di un UIScrollView, il vostro controller della vista ha solo bisogno di impostare l'UIScrollView per ritardare tocchi di contenuti e non permettergli di annullare eventi di tocco.

[scrollView setCanCancelContentTouches:NO];
[scrollView setDelaysContentTouches:YES];

Quando l'utente tocca e tiene nella visualizzazione personalizzata, l'evento va a quel visualizzazione personalizzata, in grado di elaborare gli eventi touch per trascinare un elemento in giro, ma se l'utente fa scorrere rapidamente, scorre la vista.

Altri suggerimenti

Il "pannello" opinione che ti stai riferendo sembra essere un UIPageControl vista -. anche se, forse, l'incarnazione specifico di questa visione che Apple utilizza per la home page di iPhone può essere personalizzato

Le istanze di vista UIView generici che si potrebbe toccare e trascinare riceverà gli eventi di tocco. Sovrascrivendo i metodi nella vista, questi eventi possono essere elaborati e passati al controllo della pagina, in modo da dire a "spazzare" tra le pagine.

Se avessi voluto fare quello che stai chiedendo, è così che io possa avvicinarsi. Mi sembra fattibile per me, in ogni caso.

Inizia con questo: Swip da una vista la vista successiva

Provare a usare un UIButton che tiene traccia del tempo da quando lo stato del tasto cambiato in "evidenza". Potrebbe essere necessario fare questo al fine di monitorare il trascinamento e spostare il bottone in giro:

Osservando pinch gesti Multi-Touch in un UITableView

Controlla se il pulsante inizia sovrapposizione un lato dello schermo mentre viene trascinato. Se s certa quantità di tempo trascorso da quando il pulsante iniziato sovrapposizione al bordo e quindi manipolare il UIScrollView modo che passa alla pagina successiva sul corrispondente lato dello schermo

Potrebbe essere necessario utilizzare NSTimer per tenere traccia di quanto tempo il pulsante viene tenuto premuto, ecc.

In ogni caso non c'è alcun motivo per cui questo non poteva funzionare.

Se UIButton non funziona allora forse provare una sottoclasse personalizzata di UIControl (che replica la stessa touch down azioni, ecc). Se questo non funziona, quindi utilizzare la cosa finestra degli eventi di intercettazione per tenere traccia di tutto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top