añadir vista en iPhone y el puto foco

Previous topic - Next topic

kaotiklabs

Buenas,

llevo unos días trasteando un proyecto en iPhone y siempre me encuentro con el mismo problema.
Os explico mejor, a ver si me podeis echar una mano porque ando ya muy rallado.

Quiero poner una view en una región de la pantalla y poder interaccionar.
Para ello, creo un nuevo controlador y asigno la vista como una subview de window. Dentro de la vista pongo todo el código que necesito y tal.
El problema aparece cuando una vez acabada la interacción con la view, quiero seguir con el juego en sí. Siempre acabo perdiendo el foco y la vista de glbasic ya no recibe ningún evento más.
Entiendo que la vista que he creado está capturando la entrada pero no se como lidiar con ello sin eliminar la vista.

Vamos, que no se como hacer para que las 2 capas (el juego y la que he creado) puedan convivir sin problemas.
Este problema de interacción de glbasic con capas de IOS me lo encuentro a menudo al querer integrar cualquier cosa y siempre acabo sin solución.

Espero que me podais echar un cable porque esto es un desespero  :(
Vote Cthulhu! Because the stars are right!!!!
Ia Ia Cthulhu F' tang!

Hark0

No acabo de entenderte al 100%...

El nuevo controlador lo declaras en Xcode? en GLB?

Puedes poner el código y/o zip de un hello world usando esto que comentas?


Saludos.
http://litiopixel.blogspot.com
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica Development Indie Videogames · Pixel-Art · Retrocomputing · Electronic

mentalthink

Me parece que lo que dice kaoticlabs, es que quiere que convivan 2 cosas juntas, el código de Xcode y GLbasic juntos y cuando el decida quitar el código de Xcode ¿no?,

Yo personalmente no tengo demasiada idea sobre como hacer esto...

Ps: Si lo conseguís y no es mucha molestía sería interesante tener un poco de documentación sobre esto...
:booze: :booze:

kaotiklabs

Exacto, el nuevo controlador/vista lo declaro en xcode. Pensad en botones de UIKit en una barra.
Al pulsarlos, ganan el foco y puedo abrir otras views y tal, todo en xcode.

El problema llega al querer retornar el foco a glbasic. No se como hacerlo. Por mucho que toque en la región de ventana de glbasic el foco no se recupera.
Queda secuestrado por la vista del UIKit.
Vote Cthulhu! Because the stars are right!!!!
Ia Ia Cthulhu F' tang!

mentalthink

Kaotics aunque no creo que te sirva mi ayuda, porque en estó no tengo demasiada idea... pero es necesario utilizar la interfaz que proporciona Xcode?¿... te lo digo, porque yo hizé algo, similar, pulsar unos botones desde GLbasic, pero que llamaman al Xcode, no sé, quizás pasando del Interfaz de Xcode y haciendo la interfaz en Glbasic, llamando a lo que necesitas te podría solucionar el problema...

A mi esté problema me sucede con el tema de reproduccion de video, mira que lo hemos comentado cientos de veces en el foro, pero aún nadie ha hecho que salga video por la pantalla de un iPhone con Glbasic (bueno hay gente que dice que playmovie le funciona, pero a mi jamás  :rant:)

kaotiklabs

No uso el interface builder, si te refieres a eso.

Las ventanas las creo programaticamente, desde código, el un .m.

Supongo que el problema con el video que me comentas viene a ser lo mismo.
Problemas con la interactuación entre las ventanas.
Vote Cthulhu! Because the stars are right!!!!
Ia Ia Cthulhu F' tang!

Hark0

Entiendo... y ni idea desde Xcode.

Porque no lo haces todo desde GLB?
http://litiopixel.blogspot.com
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica Development Indie Videogames · Pixel-Art · Retrocomputing · Electronic

kaotiklabs

Porque necesito usar librerias nativas para poder compartir con facebook y twitter :P
Vote Cthulhu! Because the stars are right!!!!
Ia Ia Cthulhu F' tang!

Hark0

Prueba esto del compañero @Dacarsoft...

http://www.glbasic.com/forum/index.php?topic=6704.0

Igual te sirve...  ;)

Ya nos cuentas!
http://litiopixel.blogspot.com
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica Development Indie Videogames · Pixel-Art · Retrocomputing · Electronic

kaotiklabs

Le daré un vistazo, pero el hecho de estar dentro de un UIAlert me da mal rollito.
Como comentaba Dacarsoft, no se si Apple permitirá este uso/abuso xD
Vote Cthulhu! Because the stars are right!!!!
Ia Ia Cthulhu F' tang!

Hark0

 :D

Malditas normas!!!



[OT] A ver si con lo del movimiento de Sony y su SDK la Nintendo se anima...  me encantaría desarrollar para la 3DS.
http://litiopixel.blogspot.com
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica Development Indie Videogames · Pixel-Art · Retrocomputing · Electronic

DaCarSoft

Kaotiklabs:

Acabo de ver el hilo, no lo había visto...   

Si quieres mándame la info que quieras.

Sospecho que tiene algo que ver con el uso de "becomeFirstResponder" y "resignFirstResponder"


Ya me cuentas
"Si quieres resultados distintos... no hagas siempre lo mismo" - Albert Einstein.

hardyx

#12
Iba a decir eso mismo, en la vista que quieres que pierda el foco tienes que hacer [vista resignFirstResponder]. Pero a cambio ¿me podrías decir cómo se llama la vista de GLBasic?  =D

Llevo dandole vueltas a una aplicación que necesita pedir fechas, y me gustaría hacerla con controles de iOS en vez de hacer un control de cero y luego que a los de Apple no les guste.

DaCarSoft

Hola Hardyx, perdona la demora en responder...    ando muy liado...

Yo te recomendaría no intentar "tocar" la vista de GLBasic, sino crear tu propia "vista" o tu propio "viewcontroller" si es necesario.

Échale un vistazo a mis wrappers para el Teclado/Inputbox...   quizá te sirvan.

Ten en cuenta que GLBasic corre en un sólo "thread" bajo iOS, por eso es necesario el uso de "performselectoronmainthread" en la mayoría de casos en los que necesites crear algo "visible" que pertenezca al "UIKit". Con las cosas "invisibles" no es necesario.


Un saludo.
"Si quieres resultados distintos... no hagas siempre lo mismo" - Albert Einstein.