2010-10-08 20 views
5

Tengo una vista y tengo un botón para eso. Necesito tener un cuadro desplegable al hacer clic en ese botón. ¿Cómo implementar un cuadro desplegable? Cuadro desplegable shuold tiene una vista de tabla. Cuando hago clic en las filas en la vista de tabla (después de abrir el cuadro desplegable) quiero obtener el texto que estará allí en la celda de la fila clicada en una vista donde tenía el botón. ¿Como hacer eso?¿Cómo implementar cuadro desplegable en iphone?

+1

posible duplicado de [cuadro desplegable en iPhone] (http://stackoverflow.com/questions/2643891/dropdown-box-in-iphone) –

Respuesta

0

hay dos formas de hacerlo simplemente agregue una vista en su tabla y luego coloque una vista de tabla o botón de demostración para que se vea como menú desplegable, llame a ese método en la fila de la tabla seleccionada del botón seleccionado en cualquier celda

+0

¿Cómo tener la vista de tabla con el tamaño deseado en haga clic en el botón – Vijay

+0

uiview * DROPDOWNView = [[uiview alloc] initwithframe: cgrecktmake (100,100,200,100); uitableview * tableview [[uitableview alloc] intiwithframe: cgrectmake (0,0,200,100)]; [DROPDown addsubview: tableview]; – GhostRider

+0

La solución anterior no está funcionando – Vijay

2

Hay dos maneras de lograr este

  1. mediante el uso de tableview, se puede tener un tableview con la lista de los artículos que desea tener en su menú desplegable. Luego, en el método delegado de UITableView didselectrow puede tener una marca de verificación para esa fila en particular y luego usar el valor de esa fila en particular en otro lugar del proyecto.

  2. Puede usar Pickerview para lograr la lista desplegable.

Entre los dos PickerView es aconsejable.

3

Aquí hay una solución alternativa que funciona para mí.

-(IBAction)showDropDownList:(id)sender 
{ 

tableView = [[UITableView alloc] initWithFrame:CGRectMake(7, 135, 200, 0) style:UITableViewStyleGrouped]; 
     tableView.delegate = self; 
     tableView.dataSource = self; 

    if (tableState == TableViewStateClosed) { //enum for identifying tableview state 

     [UIView beginAnimations:nil context:NULL]; 
     [UIView setAnimationDuration:0.3]; 
     CGRect viewRect = self.tableView.frame; 
     viewRect.size.height += 150; 

     [self.tableView setFrame:CGRectMake(7, 135, 200, viewRect.size.height)]; 

     [UIView commitAnimations]; 
     [self.view addSubview:tableView]; 
     tableState = TableViewStateOpen; 
    } 
    else if (tableState == TableViewStateOpen) { 

     [UIView beginAnimations:nil context:NULL]; 
     [UIView setAnimationDuration:0.3]; 

     [self.inboxTableView setFrame:CGRectMake(7, 135, 200, 0)]; 

     [UIView commitAnimations]; 

     tableState = TableViewStateClosed; 
    } 
} 
0

Aquí hay otra alternativa. La hoja de acción es básicamente una lista desplegable si lo piensas bien. Y si continúa agregando botones a una UIActionSheet, termina convirtiéndose en una tabla. Así que simplemente haga que un UIButton (o algún evento) active la Hoja de UIAction.

Pruebe agregar 7 o más botones a la Hoja de UIA y mire cómo se convierte en una lista. Es conveniente.

enter image description here

Cuestiones relacionadas