2012-06-04 18 views
6

Chcę dropdownlist jak listview po kliknięciu przycisku rozwijanego i sprawiają, że lista ma pewną zawartość. wtedy dowolna treść, którą wybiorę, będzie tekstem na etykiecie, jeśli mi ktoś pomoże. Dziękuje bardzo.Jak utworzyć listę rozwijaną bez użycia UIPIckerviewcontroller w IPhone?

+0

możliwe duplikat [lista rozwijana widoku w iPhone] (http://stackoverflow.com/questions/3650525/dropdown-list-view-in-iphone) –

+0

Podniesione Poniższe linki dostaniesz zrobić to ty chcę też wypróbować te, które działają dobrze http://iphone-rahulvarma.blogspot.com/2011/06/customized-drop-down-list-in-iphone.html http://ameyashetti.wordpress.com/2010/09/26/drop-down-demo/mam nadzieję, że to pomoże – james

+0

Spójrz na kontrolkę [this] (https://github.com/vicpenap/VPPDropDown). Jest to podstawowe rozwijane menu wyboru, które można wykorzystać do wyświetlenia opcji. – Bourne

Odpowiedz

1

Możesz użyć pop-over do wyświetlenia listy. W pop-over możesz utworzyć tableview, aby wyświetlić listę pozycji, a gdy użytkownik wybierze jakąś opcję, zostanie wywołana metoda didSelectRowAndIndexPath, z tej metody możesz wysłać wybraną wartość i wyświetlić w etykiecie.

Kod w mainviewcontroller, gdzie chcesz wyświetlić listę rozwijaną.

if (m_OptionController !=nil) 
     { 
      [m_OptionController release]; m_OptionController = nil; 

     } 
     m_OptionController=[[OptionViewController alloc]init]; 
     [m_OptionController setTarget:self andSelector:@selector(displaySelectedOption:)]; 

     if(m_pPopOverController) 
     { 
      [m_pPopOverController dismissPopoverAnimated:YES]; 
      [m_pPopOverController release]; 
      m_pPopOverController=nil; 
     } 

     m_pPopOverController=[[UIPopoverController alloc]initWithContentViewController:m_OptionController]; 

     [m_pPopOverController setPopoverContentSize:CGSizeMake(thePopOverFrame.size.width, thePopOverFrame.size.height) animated:NO]; 
     [m_pPopOverController presentPopoverFromRect:CGRectMake(theButton.frame.origin.x,0,40,40) inView:self 
          permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 

OptionViewController jest UIViewController, który będzie zawierał UITableView.Populate UITableView z danymi (lista opcji).

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if ([m_Target respondsToSelector:m_Selector]) { 
         [m_Target performSelector:m_Selector withObject:nil]; 
        } 
} 

Nie zapomnij ustawić cel poprzez wywołanie tej metody, więc gdy użytkownik wybierze opcję dowolny, odpowiadający sposób w mainviewcontroller nazywa gdzie chcesz wybraną wartość.

- (void)setTarget:(id)inTarget andSelector:(SEL)inSelector 
{ 
    m_Target = inTarget; 
    m_Selector = inSelector; 
} 
+0

bardzo dziękuję –

Powiązane problemy