【问题标题】:Run ibaction when UIPickerView item is selected选择 UIPickerView 项目时运行 ibaction
【发布时间】:2012-10-17 10:35:02
【问题描述】:

我正在使用 Xcode 4,但我的选择器视图存在一些问题。当 UIPickerView 的选定对象等于“European Sights”时,我不想转到其他视图

这是我要运行的操作:

-(IBAction)switchviewMainToQuiz:(id)sender {


    if([arrayPickerView objectAtIndex:1] == @"European Sights"){

        ViewControllerQuiz *quizView = [[ViewControllerQuiz alloc] initWithNibName:nil bundle:nil];

        [self presentModalViewController:quizView animated:YES];

    }
    else{
        lblPickerView.text = @"werkt niet";
    }
}

这是剩下的代码(pickerview 代码):

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    //Put strings in the PickerView and show in label what's selected
    arrayPickerView = [[NSMutableArray alloc] init];
    [arrayPickerView addObject:@"European Sights"];
    [arrayPickerView addObject:@"Flags of the world"];
    [arrayPickerView addObject:@"Something2"];
    [arrayPickerView addObject:@"Something3"];
    [arrayPickerView addObject:@"Something4"];

    [pickerView selectRow:1 inComponent:0 animated:NO];
    lblPickerView.text= [arrayPickerView objectAtIndex:[pickerView selectedRowInComponent:0]];


}

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

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    lblPickerView.text=    [arrayPickerView objectAtIndex:row];
}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
{
    return [arrayPickerView count];
}

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


}

UIPickerView 工作并在标签中显示所选项目。有人可以帮我吗? 谢谢你

【问题讨论】:

    标签: iphone objective-c ios xcode cocoa


    【解决方案1】:
    objectAtIndex:0     
    

    obj c 使用从零开始的数组

    【讨论】:

    • 您能否将其添加到代码中,因为我没有完成它,因为我是 ios 编程新手。
    • if([arrayPickerView objectAtIndex:0] == @"European Sights"){
    【解决方案2】:
    - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
    {
        lblPickerView.text=    [arrayPickerView objectAtIndex:row];
    
        UIButton *sender = [UIButton buttonWithType:UIButtonTypeCustom]; 
        sender.tag = row;
        [self  switchviewMainToQuiz:(id)sender];  // send a dummy button as the action is conformed for an UIButton interception
    }
    

    【讨论】:

      【解决方案3】:

      试试这行代码:

      - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { lblPickerView.text= [arrayPickerView objectAtIndex:row]; if(lblPickerView.text isEqualToString:@"European Sights"){ ViewControllerQuiz *quizView = [[ViewControllerQuiz alloc] initWithNibName:nil bundle:nil]; [自我presentModalViewController:quizView动画:YES]; } 别的{ lblPickerView.text = @"werkt niet"; } }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多