簡體   English   中英

如何在iPhone中將UIPickerView設置為inputView到UITextField

[英]How to set UIPickerView as inputView to UITextField in iPhone

我正在嘗試將UIPickerView作為inputView打開到UITextfield

這是我在textFieldDidBeginEditing代碼:

  UIPickerView *categoryPicker = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 43, 320, 480)];
    categoryPicker.delegate = self;
    categoryPicker.dataSource = self;
    [categoryPicker  setShowsSelectionIndicator:YES];
    txtCategory.inputView =  categoryPicker;

  UIToolbar *_providerToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 56)];
    _providerToolbar.barStyle = UIBarStyleBlackOpaque;
    [_providerToolbar sizeToFit];

    NSMutableArray *barItems = [[NSMutableArray alloc] init];
    UIBarButtonItem *flexSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
    [barItems addObject:flexSpace];

    UIBarButtonItem *doneBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(dismissActionSheet)];

    [barItems addObject:doneBtn];

    [_providerToolbar setItems:barItems animated:YES];
    txtCategory.inputAccessoryView = _providerToolbar;

第一次工作正常,但是當我從UIPickerView選擇任何值時,它正在隱藏並且我的UITextfield是可編輯的,而UIPickerView當時沒有顯示。 我究竟做錯了什么?

我建議您將代碼移至viewDidLoad: 因為textFieldDidBeginEditing:在textField為其加載鍵盤時被調用。 因此,現在不是更改textField的inputAccessoryView的時候。

Use this...

    NSDate *now = [NSDate date];

    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];

    [dateFormat setDateFormat:@"dd MMM, yyyy"];

    UIDatePicker *datePicker = [[UIDatePicker alloc] init];

    [datePicker setMaximumDate:now];

    datePicker.datePickerMode = UIDatePickerModeDate;

    txtForDate.text = [dateFormat stringFromDate:datePicker.date];

    [datePicker addTarget:self action:@selector(updateTextField:)
         forControlEvents:UIControlEventValueChanged];

    [txtForDate setInputView:datePicker];

// txtForDate是UITextField

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM