首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用selectRow:inComponent:animated: method

调用selectRow:inComponent:animated: method
EN

Stack Overflow用户
提问于 2012-09-03 15:06:10
回答 1查看 499关注 0票数 0

我的应用程序中有两个UIpicker视图,我想让选取器在保存数据后显示最后选择的行。我正在使用这个selectRow:inComponent:animated:方法,但是我到底应该在哪里调用这个方法呢?

在viewDidLoad中:

代码语言:javascript
复制
if (self.pickerView == nil) {
    self.pickerView = [[UIPickerView alloc] init];
    self.pickerView.delegate = self;
    self.pickerView.showsSelectionIndicator = YES;

在pickerView:viewForRow:forComponent:reusingView:中

代码语言:javascript
复制
if (component == 0)
        {
            for (int j =20; j<=200; j++)
            {
            NSString* myString           = [NSString stringWithFormat:@"%d",j];
            [myArray addObject:myString];
            }
            UILabel *weightLabel0        = [[UILabel alloc] initWithFrame:CGRectMake(40, 0, 100, 32)];
            Label0.text            = [myArray objectAtIndex:row];
            Label0.textAlignment   = UITextAlignmentLeft;
            Label0.backgroundColor = [UIColor clearColor];
            [rowView insertSubview:weightLabel0 atIndex:1];
return rowView;

        }

我这里有一个方法:

代码语言:javascript
复制
-(void) refreshPicker
{


    NSArray* mArray = [self.myTextField.text componentsSeparatedByString:@"."];
    NSNumber* str1 = [mArray objectAtIndex:0];
    int selectRow1 = [str1 intValue]-20;
    NSNumber* str2 = [mArray objectAtIndex:1];
    int selectRow = [str2 intValue];

    if (selectRow == 0) {
        int selectRow2 = 0;
        [self.pickerView selectRow:selectRow2 inComponent:1 animated:NO];
    }
    else if (selectRow == 5) {
        int selectRow2 = 1;
        [self.pickerView selectRow:selectRow2 inComponent:1 animated:NO];
    }

    [self.pickerView  selectRow:selectRow1 inComponent:0 animated:NO];

    [pickerView_ reloadAllComponents];


}

我该怎么把这些放在一起呢?例如,如果我在viewDidLoad上调用此方法,则不会发生任何事情。请帮助=)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-05 11:55:38

我想出了一个主意。由于我的选择器仅在文本字段被调用时创建项,即成为第一响应器,因此,我在textFieldDidBeginEditing中调用refreshPicker方法。并且不要忘记将文本字段委托设置为self。对于那些遇到我的问题的人,干杯。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12243356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档