繁体   English   中英

操作表上的uipicker视图实现

[英]uipicker view implementation on action sheet

我已经在操作表上实现了UIPicker视图概念,它可以正常工作,但是有一点它不能正确显示,即行索引。 选择器视图中没有突出显示的行。 在此处输入图片说明

我已经上传了图片。 请给我解决方案。

以下是我正在使用的代码:

-(IBAction)clickformedtype:(id)sender
    {
        UIActionSheet *asheet = [[UIActionSheet alloc] initWithTitle:@"Select medication type" delegate:self
                                                   cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Select", nil];
        [asheet showInView:[self.view superview]]; //note: in most cases this would be just self.view, but because I was doing this in a tabBar Application, I use the superview.
        [asheet setFrame:CGRectMake(0, 117, 320, 383)];
        [asheet release];
    }


    -(void)willPresentActionSheet:(UIActionSheet *)actionSheet {

        medicationtypepicker = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 40, 320, 216)];
        medicationtypepicker.delegate = self;
        medicinetypearray = [[NSMutableArray alloc]initWithObjects:@"ml",@"capsules",@"eyedrops", nil];

        //medicationtypepicker = [[NSMutableArray alloc]initWithObjects:@"ml",@"capsules",@"eyedrops", nil];
        //medicationtypepicker.datePickerMode = ui;

        //Configure picker...
        // [medicationtypepicker setMinuteInterval:1];

        [medicationtypepicker setTag: kDatePickerTag];

        //Add picker to action sheet
        [actionSheet addSubview:medicationtypepicker];

        // [medicationtypepicker release];

        //Gets an array af all of the subviews of our actionSheet
        NSArray *subviews = [actionSheet subviews];

        [[subviews objectAtIndex:SelectButtonIndex] setFrame:CGRectMake(20, 266, 280, 46)]; 
        [[subviews objectAtIndex:CancelButtonIndex] setFrame:CGRectMake(20, 317, 280, 46)];


    }


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

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

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

    - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
    {
        medicinetype.text=[medicinetypearray objectAtIndex:row];
        //medicationtypepicker.hidden = YES;

    }

提前致谢。

UIPickerView具有一个名为“ showsSelectionIndicator”的属性-将其设置为YES还将autoresizingMask设置为UIViewAutoresizingFlexibleWidth如下所示...

    mTimePicker.showsSelectionIndicator = YES;          
    mTimePicker.autoresizingMask = UIViewAutoresizingFlexibleWidth;

尝试将属性showsSelectionIndicator设置为YES

medicationtypepicker.showsSelectionIndicator = YES;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM