2011-03-17 123 views
0

中添加了10個標籤(標籤包含一些數據)以滾動視圖.i想要獲得特定位置的標籤值。可以請你知道如何獲取在那個location.please值給出建議爲這是我寫我。怎麼能得到用戶選擇的語言如何從滾動視圖的子視圖(UILabel)中獲取我在iphone

-(void)printLanguage 
{ 
    NSLog(@"in print language method"); 

    //int y=0; 
    //NSMutableArray *languageArray=[[NSMutableArray alloc]initWithObjects:@"Chinese",@"Spanish",@"English",@"Arabic",@"Hindi",@"Bengali",@"Portuguese",@"Russian",@"Japanese",@"German",nil]; 
    //UILabel *languageLabel=[[UILabel alloc]initWithFrame:CGRectMake(0, y ,90,30)]; 

    languagValue=0; 

    int y=0; 
    NSMutableArray *languageArray=[[NSMutableArray alloc]initWithObjects:@"Chinese",@"Spanish",@"English",@"Arabic",@"Hindi",@"Bengali",@"Portuguese",@"Russian",@"Japanese",@"German",nil]; 


for(languagValue=0;languagValue<[languageArray count];languagValue++) 
{ 
    UILabel *languageLabel=[[UILabel alloc]initWithFrame:CGRectMake(0, y ,90,30)]; 
    NSLog(@"array count is @%d",[languageArray count]); 
    languageLabel.text=[languageArray objectAtIndex:languagValue]; 
    NSLog(@"array objectat index is @%@",[languageArray objectAtIndex:languagValue]); 
    languageLabel.font=[UIFont systemFontOfSize:19.0]; 
    languageLabel.backgroundColor=[UIColor clearColor]; 
    [languageScrollView addSubview:languageLabel]; 
    // [languageScrollView addSubview:languageLabel]; 
    //y+=90;   
    y+=languageLabel.frame.size.height; 
    [languageLabel release]; 

} 

    [languageScrollView setShowsHorizontalScrollIndicator:NO]; 
    [languageScrollView setShowsVerticalScrollIndicator:NO]; 
    [languageScrollView setContentSize:CGSizeMake(genderScrollView.frame.size.width, y)]; 

} 

謝謝價值的代碼,

吉里什

回答

1
這一切的基礎設施 UITableView更好

UILabel不是交互式組件Girish。所以你不能得到它的選擇事件。更好地使用UIButtons。 我編輯了您的代碼並添加了一個方法。只需使languageArray全局和代碼工作正常。

-(void)youMethod 
{ 
    //int y=0; 
    //NSMutableArray *languageArray=[[NSMutableArray alloc]initWithObjects:@"Chinese",@"Spanish",@"English",@"Arabic",@"Hindi",@"Bengali",@"Portuguese",@"Russian",@"Japanese",@"German",nil]; 
    //UILabel *languageLabel=[[UILabel alloc]initWithFrame:CGRectMake(0, y ,90,30)]; 

    languagValue=0; 

    int y=0; 
    NSMutableArray *languageArray=[[NSMutableArray alloc]initWithObjects:@"Chinese",@"Spanish",@"English",@"Arabic",@"Hindi",@"Bengali",@"Portuguese",@"Russian",@"Japanese",@"German",nil]; 


    for(languagValue=0;languagValue<[languageArray count];languagValue++) 
    { 
     UILabel *languageLabel=[[UILabel alloc]initWithFrame:CGRectMake(0, y ,90,30)]; 
     UIButton * btn = [UIButton buttonWithType:UIButtonTypeCustom]; 
     btn.frame = CGRectMake(0, y ,90,30); 
     btn.tag = languagValue; 
     [btn addTarget:self action:@selector(languageSelected:) forControlEvents:UIControlEventTouchUpInside]; 
     NSLog(@"array count is @%d",[languageArray count]); 
     languageLabel.text=[languageArray objectAtIndex:languagValue]; 
     NSLog(@"array objectat index is @%@",[languageArray objectAtIndex:languagValue]); 
     languageLabel.font=[UIFont systemFontOfSize:19.0]; 
     languageLabel.backgroundColor=[UIColor clearColor]; 
     [languageScrollView addSubview:languageLabel]; 
     [languageScrollView addSubview:btn]; 
     // [languageScrollView addSubview:languageLabel]; 
     //y+=90;   
     y+=languageLabel.frame.size.height; 
     [languageLabel release]; 

     } 
     [languageScrollView setShowsHorizontalScrollIndicator:NO]; 
     [languageScrollView setShowsVerticalScrollIndicator:NO]; 

     [languageScrollView setContentSize:CGSizeMake(genderScrollView.frame.size.width, y)]; 

} 

-(void)languageSelected:(id)sender 
{ 
    UIButton * btn = (UIButton*)sender; 
    int selectedIndex = btn.tag; 
    NSString * selectedLanguage = [languageArray objectAtIndex:selectedIndex]; 
} 
+0

Vaibhav的感謝的值üresponse.its工作.. – girish 2011-03-17 15:15:09

+0

netime哥們! :) – 2011-03-18 10:02:07

2

,必須有人已經設定了這些價值觀,不是嗎? :)爲什麼你會問標籤的價值,當你已經必須知道它設置它的第一位。

編輯:看到你的代碼,你大概可以從滾動視圖的contentOffset弄清楚,但似乎你會用UIPicker或者免費提供

+0

我會告訴我的代碼ü可以解釋我什麼,我必須讓特定使用者所選擇的價值 – girish 2011-03-17 11:19:38

相關問題