¿Es posible crear un Custom SplitViewcontroller ó un Custom ViewController ??

Para dar las gracias debes entrar o registrarte en el foro

iMiembro
iMiembro
Mensajes: 15 Agradecido: 2
04 Nov 2010, 13:23# 1

Buenos días, lo primero de todo dar las gracias por esta maravillosa página donde he visto muchas cosas sobre el IPAD.

Hace poco que estoy aprendiendo a programar en objective-c para aplicarlo en el IPAD a base de leer mucho y mirar muchos ejemplos que hay por la red, ya he hecho una aplicación en la empresa en la que estoy que de SAP obtenemos unos datos usando Servicios Web y el IPAD los muestra en un splitview y la verdad que ha quedado bastante bien. Ahora me mandan hacer una aplicación parecida a la que tiene el Corte Inglés ó Zara en el appstore, pero claro tengo un gran problema que no se como hacerlo.

Por un lado ya he encontrado unas librerías para hacer el coverflow "como ese clase es privada de apple uno se lo tiene que currar" pero bueno encontré un ejemplo de como se lo ha trabajado uno para hacerlo para el iphone y ya lo tengo pasado en el IPAD, por otro lado el funcionamiento del splitview creo que lo tengo bastante controlado.

Ahora viene mi problema como integro todo en la misma vista, o en el mismo controllador. Después de mucho leer creo que lo correcto sería crear un controlador para todo del estilo del splitview pero claro no he visto la manera de poder modificar el tamaño del controlador ya que cuando estás en Interface Builder y hacer doble click sobre el controlador aparece una pantalla donde muestra a la izquierda el MasterViewController y a la derecha el DetailViewController, ahora me gustaría poder modificar el tamaño de esos controles y poder agregar en la parte de arriba otro controlador para el coverflow. No sé si me explico.....


---------------------------------------------
| CoverFlow Controller |
|-------------------------------------------
| | |
| Master | Detail |
| View | View |
|Controller | Controller |
|-------------------------------------------|

Depués de hacer esto creo que ya sería fácil porque ya sería enlazar la detail view controller con la vista que necesite, y el coverflow controller con la vista que necesite,
la master view controller por defecto siempre saca una tableview.

Ahora mi gran pregunta como puedo hacer esto ?????? Porque no se me ocurre nada, ya que en la clase ViewController no he visto nada para poder redimensionar lo que ocupa en pantalla ya que por defecto es toda la pantalla, y con el splitviewcontroller pasa lo mismo está separado en dos lados la pantalla pero tampoco he visto como poder redimensionar para luego poder añadir otro "que tampoco tengo ni idea como hacerlo.

Bueno después de esta chapada a ver si alguien puede abrirme un poco los ojos para poder enfocar este problema...............

Muchas gracias por leer este mensaje y un saludo..... [email protected]

Gracias  
Etiquetado en:
iMiembro 3G
iMiembro 3G
Mensajes: 92 Agradecido: 27
06 Nov 2010, 00:10# 2

A ver, lo primero, estas confundiendo (o mezclando) vistas con controladores y son cosas distintas.

Por ejemplo, lo que quieres hacer se puede hacer con un solo controlador y multiples subVistas o con varios controladores cada uno con una o varias vistas.

Por ejemplo puedes tener un controlador raiz que lo unico que haga es de interfaz entre otros controladores. Su vista, seria simplemente un rectángulo inicialmente vacio sobre el que se añadirian las subvistas de los otros controladores.

En la clase ViewController no puedes modificar su tamaño porque un viewController no es visible, solo lo es su vista. Si accedes al UIViewController.view si podras sacar las popiedades de tamaño, posicion, etc

La verdad es que lo que quieres hacer es difícil de explicarlo, no se si te he aclarado algo o si te he liado mas ;)

* No respondo cuestiones técnicas por privado. Pon tus preguntas en el foro y así aprendemos todos.
Gracias  
1 persona ha dado las gracias: colosoderada
iMiembro
iMiembro
Mensajes: 15 Agradecido: 2
07 Nov 2010, 18:14# 3

Hola compañero, lo primero de todo muchas gracias por tú aclaración.

Pues la verdad que no me queda nada claro......

Lo que no entiendo es por ejemplo el SplitViewController si creas un proyecto nuevo para el ipad y vamos al IB y haces doble click te saca como dos zonas "una para el MaterView" y otra para el "DetailView" y luego por ejemplo le indicas en el Detailview que va usar tal vista y ahi ya metes por ejemplo una TableView en la vista y haces lo que quieres... Claro a mi me gustaría hacer lo mismo pero añadir en la parte de arriba otra sección para poder meter un coverflow o cualquier otra cosa que metería en su correspondiente vista....

Por lo que me has explicado, creo que por ejemplo en una vista podría meter dos tableview indipendientes que es controlado por el mismo ViewController. Entonces creo que lo que puede intentar es crear una tableview y en su vista correspondiente meter lo que necesite y luego ya iré cargado vistas o lo que necesite hacer....

Luego no sabrás del algún ejemplo por internet de vistas así como algo avanzadas para ir trasteando y ver como hacen las cosas ???? Es que por ejemplo me gustaría hacer algo parecido a la aplicación del IPAD que tiene el corte inglés y claro tiene un coverFlow en la parte de arriba y luego otro control debajo y luego por ejemplo no tengo ni idea como hacen esas pestañas gráficas que le pulsas y pasa a otra pestaña.... no sabrás como se hacen esos efectos ?????? Por lo demás continuaré mirando a ver si encuentro algo por la red para ver como lo podría hacer..... Muchas gracias por tú ayuda y gracias por leer este mensaje. Saludos....

No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Gracias  
iMiembro
iMiembro
Mensajes: 15 Agradecido: 2
07 Nov 2010, 18:27# 4

Continuo en este mensaje...........

La aplicación del Corte Inglés la verdad que no tengo ni idea como pueden hacer en la misma vista el CoverFlow y debajo el otro componente, así como las pestañas....

Sobre el tema CoverFlow estoy usando este:

http://fajkowski.com/blog/2009/08/02/op ... he-iphone/
http://apparentlogic.com/openflow/

Yo lo ejecute y lo simular en el iphone me cree un proyecto nuevo para IPAD y lo tengo funcionando en el IPAD, problema ocupa toda la vista.

Saludos a todos............

No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Gracias  
iMiembro 3G
iMiembro 3G
Mensajes: 92 Agradecido: 27
07 Nov 2010, 21:42# 5

Buenas again.

No puedes usar el SplitViewController para lo que quieres hacer, tienes que definir tu propio controlador, que herede de UIViewController.

Tampoco puedes hacer exactamente lo que indicas con el IB (bueno, si se puede pero no es sencillo). Desde mi punto de vista es mas sencillo hacerlo todo en código.

Lo primero, aplica el "divide y vencerás", la interfaz que quieres hacer es compleja, así que dividela es subvistas y programa cada vista/controlador por separado, luego las justas todas, con un ViewController raiz que sirva de pegamento entre todas. SI ademas compartes una estructura de datos entre los controladores podrás comunicarlos sin problemas respetando los paradigmas de diseño MVC (model-view-controller)

Prueba a diseñar un vista cualquiera con su controlador, por ejempro arribaVC. Este controlador tendra una vista, por ejemplo con el siguiente frame (0,0,1024,300) vamos, ocuparia toda la parte superior de la pantalla (en apaisado) y pones en esa vista tu cover flow.

Luego, aparte te creas la vista y control de la parte inferior, por ejemplo abajoVC. La vista de este controlador tendra un frame de (0, 300,1024, 468) ocupando la parte restante de la pantalla. Aqui pones el detalle del producto, por ejemplo

Ahora, te creas un controlador maestro para los dos, masterVC y desde el controlas los otros VC, por ejemplo, en el metodo viewDidLoad:

- (void) viewDidLoad{
arribaVC = [[ArribaVC alloc] initWithNibName:@"loquesea"];
abajoVC = [[AbajoVC alloc] initWithNibName:@"loquesea"];
[self.view addSubview: arribaVC.view];
[self.view addSubview: abajoVC.view];
}

Si entre el masterVC, arribaVC y abajoVC compartes alguna estructura de datos podrás controlar la comunicación entre arriba y abajo por ejemplo, por ejemplo al seleccionar arriba un producto en el coverflow ver abajo el detalle.

No se te olvide luego liberar los recursos adecuadamente.

Esto lo puedes complicar todo lo que quieras, yo tengo algún controlador que gestiona otros 50 subcontroladores con sus respectivas vistas.

Respecto a la aplicación ECI, la verdad es que tiene un buen diseño visual, pero no te dejes engañar por el, que tu veas una pestaña no quiere decir que realmente exista una gestión de pestañas, con dos imágenes y un buen refresco de vistas puedes conseguir ese efecto.

Gracias por compartir lo del coverflow, me lo guardo que siempre puede ser interesante.

* No respondo cuestiones técnicas por privado. Pon tus preguntas en el foro y así aprendemos todos.
Gracias  
1 persona ha dado las gracias: colosoderada
iMiembro
iMiembro
Mensajes: 15 Agradecido: 2
07 Nov 2010, 22:33# 6

Muchas gracias por todo Sunner, voy hacerlo como dices y ya os diré que tal me va.....

En el control de la parte inferior intentaré aplicar lo que he visto en este ejemplo:

MGSplitViewController for iPad

http://mattgemmell.com/2010/07/31/mgspl ... r-for-ipad

Por cierto por si alguien le interesan libros de programación de Iphone y del IPAD "actualmente estoy leyendo unos cuantos" eso sí todo en inglés... ahí va una página que encontré hace tiempo que me parece muy interesante

http://wowebook.net/

También hay más libros de informática de otros lenguajes y otras cosas de informática aparte de alguna otra cosilla....

Lo que me comentas de los tab intentaré si puedo hacer con varias vistas ese efecto, también continuaré buscando más ejemplos sobre el tema........

Saludos a todos.........

Gracias  
1 persona ha dado las gracias: Sunner
iMiembro
iMiembro
Mensajes: 15 Agradecido: 2
05 Ene 2011, 20:05# 7

Continuo haciendo este proyecto bueno y de momento va tomando un poco de forma, pero bueno estoy más que nada trasteando para ver que puedo hacer.... Saludos

No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Gracias  

Publicidad
Publicidad