2017-10-08 9 views
0

에 응답하지 나는 당신이 UITextField에 입력 복용을 중지 어떤 이유로 목록의 UITextField는 사용자 상호 작용

에 식품 항목을 추가 할 수 있습니다 이전 작업 응용 프로그램이 - 모든 다른 작품이의 UITextField를 제외합니다.

이미 .showasfirstresponder() 메소드를 시도했지만 여전히 문제를 해결하지 못했습니다. 이제 음식 추가 버튼이 작동을 멈 춥니 다.

내 앱이 한 지점에서 작업 한 이후로 다소 까다롭지 만 작은 것 같습니다.

의 ViewController - -

여기 내 관련 코드입니다

class ViewController: UIViewController, UITableViewDataSource, 
UITableViewDelegate, 
UITextFieldDelegate{ 

// instance vars 
@IBOutlet weak var addFoodsTextField: UITextField! 
@IBOutlet weak var tableView: UITableView! 

var foods:[String] = [] 
var cellStyleForEditing: UITableViewCellEditingStyle = .none 
let defaults = UserDefaults.standard 

override func viewDidLoad() { 
     super.viewDidLoad() 
     // nsuserdefaults setUp 
     foods = defaults.stringArray(forKey: "foods") ?? [String]() 
     setUpTableView() 
     //addFoodsTextField.becomeFirstResponder() 
    } 

func setUpTableView() { 
    let containerView:UIView = UIView(frame:tableView.bounds) 
    containerView.backgroundColor = UIColor.clear 
    containerView.layer.shadowOffset = CGSize(width: 5.0, height: 5.0) 
    containerView.layer.shadowOpacity = 0.5 
    containerView.layer.shadowRadius = 5 

    let nibName = UINib(nibName: "TableViewCell", bundle: nil) 
    tableView.register(nibName, forCellReuseIdentifier: "tableViewCell") 

    tableView.dataSource = self 
    tableView.delegate = self 
    tableView.tableFooterView = UIView(frame: CGRect.zero) 
    tableView.separatorStyle = .none 
    tableView.showsVerticalScrollIndicator = false 
    tableView.layer.cornerRadius = 10 
    tableView.layer.masksToBounds = true 
    view.addSubview(containerView) 
    containerView.addSubview(tableView) 
} 

@IBAction func addButtonTapped(_ sender: Any) { 
    insertNewFoodTitle() 
} 

func insertNewFoodTitle() { 
    foods.append(addFoodsTextField.text!) 
    let indexPath = IndexPath(row: foods.count - 1, section: 0) 

    tableView.beginUpdates() 
    tableView.insertRows(at: [indexPath], with: .automatic) 
    defaults.set(foods, forKey: "foods") 
    tableView.endUpdates() 

    // set textFeild back to empty string 
    addFoodsTextField.text = "" 
    view.endEditing(true) 
} 
} 

그리고 여기에 인터페이스 빌더의 그림입니다 -이로 실행하기 전에이 약 30 분을 달리고 있었다 enter image description here

곤충. 나는 몇 가지 식품 항목을 추가 할 수 있었지만 지금은없는 유사

enter image description here

답변

0

뭔가 엑스 코드 (9)

이 방법은 트릭을했던 BarButtonGroups 설정
textfield.inputAssistantItem.leadingBarButtonGroups = [] 
textfield.inputAssistantItem.trailingBarButtonGroups = [] 

때문에 나에게 발생 할 수 있습니다.

0

내가 무엇인지 알아 냈습니다!

내 상호 작용을 차단하는 것은 컨테이너보기입니다.

해결 방법이 아직 확실하지 않지만 알아낼 수 있습니다.