0

我在uitableview中有两个pickerview,当你选择picker时,它旁边的标签会显示值。代码在第一个 pickerview 中运行良好,但第二个当您选择标签时没有显示任何值,我尝试了 nslog 但它正在打印值意味着值不是 null

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                       reuseIdentifier:@"Cell"];

        cell.accessoryType = UITableViewCellAccessoryNone;

        if ([indexPath section] == 0) {

            CGRect frame  = CGRectMake(160, 10, 585, 30);

            name = [[UITextField alloc]initWithFrame:frame];
            email = [[UITextField alloc]initWithFrame:frame];
            phone = [[UITextField alloc]initWithFrame:frame];




            if ([indexPath row] == 0) {

                name.keyboardType = UIKeyboardTypeEmailAddress;
                name.returnKeyType = UIReturnKeyNext;
            }
            if([indexPath row]==1){

                email.keyboardType = UIKeyboardTypeDefault;
                email.returnKeyType = UIReturnKeyDone;
                email.secureTextEntry = YES;
            }
            if([indexPath row]==2)
            {

                phone.keyboardType = UIKeyboardTypeDefault;
                phone.returnKeyType = UIReturnKeyDone;
                phone.secureTextEntry = YES;

            }

            [cell addSubview:name];
            [cell addSubview:email];
            [cell addSubview:phone];


            if ([indexPath row] == 0) {
                cell.textLabel.text = @"Name";
            }
            if([indexPath row]==1)
            {
                cell.textLabel.text = @"Email";
            }
            if([indexPath row]==2)
            {
                cell.textLabel.text = @"Phone";
            }


        }



    }

    if([indexPath section]==1)
    {

        packlist = [[UIButton alloc]initWithFrame:CGRectMake(680, 0, 50, 45)];
        package_selected = [[UILabel alloc]initWithFrame:CGRectMake(380, 0, 250, 45)];



        if([indexPath row]==0)
        {

            [packlist setBackgroundImage:[UIImage imageNamed:@"drp-down-bt1.png"] forState:UIControlStateNormal];
            [packlist addTarget:self
                         action:@selector(packagelist)
               forControlEvents:UIControlEventTouchUpInside];

            [package_selected setBackgroundColor:[UIColor clearColor]];



            cell.textLabel.text = @"Select Package";
            [cell addSubview:packlist];
            [cell addSubview:package_selected];

        }
    }
    if([indexPath section]==2)
    {


        if([[add_on_require objectAtIndex:0] count]>0)

        {

            add_req_button = [[UIButton alloc]initWithFrame:CGRectMake(680, 0, 50, 45)];
            require_label = [[UILabel alloc]initWithFrame:CGRectMake(380, 0, 250, 45)];



            for(int i=0;i<[[add_on_require objectAtIndex:0] count];i++)
            {

            if([indexPath row]==0)
            {

                [add_req_button setBackgroundImage:[UIImage imageNamed:@"drp-down-bt1.png"] forState:UIControlStateNormal];
                [add_req_button addTarget:self
                             action:@selector(requirelist)
                   forControlEvents:UIControlEventTouchUpInside];

                [require_label setBackgroundColor:[UIColor clearColor]];

                cell.textLabel.text = @"Requires";
                [cell addSubview:add_req_button];
                [cell addSubview:require_label];

            }
            }

        }
    }


    cell.selectionStyle = UITableViewCellSelectionStyleNone;


    return cell;
    }
    // tell the picker the title for a given component
    - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {


    switch (pickerView.tag) {
        case PACKAGE_LIST:
        {
            return [pack_name_price objectAtIndex:row];
            break;
        }
        case REQUIRE_LIST:
        {
            return [addon_array objectAtIndex:row];
            break;
        }
        default:
            break;
    }
    return  nil;
    }

    #pragma mark - UIActionSheetDelegate
    - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
    {
        if (actionSheet.tag == PACKAGE_LIST) {
            if ([pickerviewPackageDetail selectedRowInComponent:0] > 1 && [pickerviewPackageDetail selectedRowInComponent:0] < 5 ) {
            }
        }
        if(actionSheet.tag == PACKAGE_LIST)
        {
            if ([pickerviewAddonRequire selectedRowInComponent:0] == 4 )
            {
            }
            else {
            }
        }

    }

    -(void)requirelist

    {




    UIActionSheet *actionSheet1 = [[UIActionSheet alloc] initWithTitle:@"Requires" delegate:self cancelButtonTitle:@"Done" destructiveButtonTitle:nil otherButtonTitles:nil];
    actionSheet1.tag = REQUIRE_LIST;
    actionSheet1.actionSheetStyle = UIActionSheetStyleDefault;
    [actionSheet1 addSubview:pickerviewAddonRequire];
    [actionSheet1 setFrame:CGRectMake(0, 0, 600, 400)];

    [controller.view addSubview:actionSheet1];


    if ([popovercontroller isPopoverVisible]) {
        [popovercontroller dismissPopoverAnimated:YES];
    } else {

        //the rectangle here is the frame of the object that presents the popover,
        //in this case, the UIButton…

        CGRect convertedFrame = [orderTable convertRect:add_req_button.frame toView:self.view];

        convertedFrame.size.width = 250;
        convertedFrame.size.height = 400;
        convertedFrame.origin.y = convertedFrame.origin.y + 145;

        [popovercontroller presentPopoverFromRect:convertedFrame
                                           inView:self.view
                         permittedArrowDirections:UIPopoverArrowDirectionRight
                                         animated:YES];

       }

    }

    -(void)packagelist
    {


    UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Select Package" delegate:self cancelButtonTitle:@"Done" destructiveButtonTitle:nil otherButtonTitles:nil];
    actionSheet.tag = PACKAGE_LIST;
    actionSheet.actionSheetStyle = UIActionSheetStyleDefault;
    [actionSheet addSubview:pickerviewPackageDetail];
    //            [actionSheet showInView:self.view];
    [actionSheet setFrame:CGRectMake(0, 0, 600, 400)];

    [controller.view addSubview:actionSheet];


    if ([popovercontroller isPopoverVisible]) {
        [popovercontroller dismissPopoverAnimated:YES];
    } else {

        //the rectangle here is the frame of the object that presents the popover,
        //in this case, the UIButton…

        CGRect convertedFrame = [orderTable convertRect:packlist.frame toView:self.view];

        convertedFrame.size.width = 250;
        convertedFrame.size.height = 400;
        convertedFrame.origin.y = convertedFrame.origin.y + 50;

        [popovercontroller presentPopoverFromRect:convertedFrame
                                           inView:self.view
                         permittedArrowDirections:UIPopoverArrowDirectionRight
                                         animated:YES];

        }


    }

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

            case PACKAGE_LIST:
            {
                package_selected.text = [pack_name_price objectAtIndex:row];
                break;
            }
            case REQUIRE_LIST:
            {
                require_label.text = [addon_array objectAtIndex:row];
                break;
            }
            default:
                break;
        }
    }
    - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {

        switch (pickerView.tag) {
            case PACKAGE_LIST:
            {
                return  [pack_name count];
                break;
            }
            case REQUIRE_LIST:
            {
                return [addon_array count];
                break;
            }
            default:
                break;
        }
        return 0;
    }


    //package start


    // package end

    -(IBAction)btnport:(id)sender
    {
        [scrollViewPortfolio setContentOffset:CGPointMake(0, 0)];

        [port setSelected:TRUE];
        [pack setSelected:FALSE];
        [ord setSelected:FALSE];

        [self.view addSubview:portview];
        [packview removeFromSuperview];
        [ordview removeFromSuperview];


    }
    -(IBAction)btnpack:(id)sender
    {

        [port setSelected:FALSE];
        [pack setSelected:TRUE];
        [ord setSelected:FALSE];

        [self.view addSubview:packview];
        [portview removeFromSuperview];
        [ordview removeFromSuperview];



        [self loadpackage];




    }
4

0 回答 0