2012-05-09 6 views
0

ストーリーボードを使用してIos5で新しいプロジェクトを作成しました。プロジェクトにはUIPickerViewがあります。UIPickerViewデータソースとデリゲートをストーリーボードに接続する方法

私はデータソースを作成して代理を行いましたが、ファイル所有者がIOs5で接続を見つけることができません。どうすれば接続するのですか?

+1

おそらく、あなたは「絵コンテを意味します"? – Caleb

+0

申し訳ありませんStorboards :-)まあ私はViewControllerに接続するはずだったが、私はFirstResponderに接続していた。誰かがこの質問を持っていれば答えは.. :-) – Prerna

答えて

2

ストーリーボードとロード.xibファイルの違いの1つは、ストーリーボードファイル内の各「シーン」のビューコントローラーがそのファイルに含まれていることです。したがって、ビューコントローラがデータソースであり、ピッカー(これは一般的です)の代理人でもあると仮定すると、ビューコントローラをファイルの所有者プロキシではなくそれらのアウトレットに接続します。 (.xibファイルでは、それがコードにビューコントローラをインスタンス化し、それにそのビューをロードする.xibファイルを与えるために、典型的なですので、ビューコントローラは、ファイルの所有者である。)

0
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view { 

     if(button_Number == 1) 
     { 
      UILabel *label =[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 280, 30)]; 

      NSString *nameStr=[arr_countryName objectAtIndex:row]; 
      // NSString *nameStr=[programNameArr objectForKey:@"programname"]; 
      label.text = nameStr; 
      label.font = [UIFont boldSystemFontOfSize:14.0f]; 
      label.textAlignment = UITextAlignmentLeft; 
      label.backgroundColor = [UIColor clearColor]; 
      [label autorelease]; 
      return label; 
     } 
     if (button_Number == 2) 
     { 
      UILabel *label =[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 280, 30)]; 

      NSString *nameStr=[arr_currencyCode objectAtIndex:row]; 
      // NSString *nameStr=[programNameArr objectForKey:@"programname"]; 
      label.text = nameStr; 
      label.font = [UIFont boldSystemFontOfSize:18.0f]; 
      label.textAlignment = UITextAlignmentLeft; 
      label.backgroundColor = [UIColor clearColor]; 
      [label autorelease]; 
      return label; 
     } 

    } 


    - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{ 
     //return (NSString*)[clientListArray objectAtIndex:row]; 

     if(button_Number == 1) 
     { 
      return (NSString*)[arr_countryName objectAtIndex:row]; 
     } 
     if (button_Number == 2) 
     { 
      return (NSString*)[arr_currencyCode objectAtIndex:row]; 
     } 
    } 


    - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{ 
     return 1; 
    } 


    - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{ 

     if(button_Number == 1) 
     { 
      return [arr_countryName count]; 
     } 
     if (button_Number == 2) 
     { 
      return [arr_currencyCode count]; 
     } 
    } 


    - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{ 

     selectedScrollIndex = row; 

     // clientNameTxtFld.text = [clientListArray objectAtIndex:row]; 

     // LBL.text = [clientListArray objectAtIndex:row]; 


    } 


    - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex 
    { 
     if(buttonIndex == 0) 
     { 

     } 

     if (buttonIndex == 1 && button_Number == 1) 
     { 
      countryTxtFld.text = [arr_countryName objectAtIndex:selectedScrollIndex]; 
      //selected_Client_ID = [clientIDArray objectAtIndex:selectedScrollIndex]; 

      selectedScrollIndex = 0; 
     } 

     if (buttonIndex == 1 && button_Number == 2) 
     { 
      currencyTxtFld.text = [arr_currencyCode objectAtIndex:selectedScrollIndex]; 
      //selected_Client_ID = [clientIDArray objectAtIndex:selectedScrollIndex]; 

      selectedScrollIndex = 0; 
     } 
    } 
関連する問題