2016-10-13 5 views
0

У меня есть textField в моем TableViewController с ключом возврата поиска.Вызов TextFieldShouldReturn Programmatically Swift

Мне удалось программно напечатать текст в текстовом поле поиска, но я не смог запрограммировать опцию поиска.

Это мой код до сих пор:

This is my code so far:

Когда я пытаюсь запустить последнюю строку (textFieldShouldReturn (search_textfield)), сбой приложения.

Как я могу программно вызвать текстFieldShouldReturn, чтобы активировать кнопку «Поиск»?

+0

Что вы подразумеваете под "textFieldShouldReturn"? хотите ли вы отпустить клавиатуру? –

+3

Вы искали этот сайт, прежде чем спрашивать? Пожалуйста, проверьте, не дублируется ли этот вопрос: http://stackoverflow.com/questions/11932166/programmatically-call-textfieldshouldreturn?rq=1 – xpereta

ответ

0

Как из кода это выглядит, как вы хотите, чтобы искать значение по умолчанию, что написано в вашем текстовом поле, что, почему вы пишете textfieldShould Return ..

вы можете сделать это, создав метод, как

-(void)PerformSearch:(NSString*)searchStr 
{ 
//Do what ever Logic you implement in searching 
} 

Вызов этого метода в вашем ViewDidLoadMethod для осуществления поиска

-(void)ViewDidLoad 
{ 
[super:ViewDidLoad]; 
[self performSearch:textfield.text]; 
} 
1

, если я правильно понял ваш вопрос, который вы хотите следующее:

import UIKit 

class ViewController: UIViewController, UITextFieldDelegate { 

@IBOutlet weak var textField: UITextField! 


override func viewDidLoad() { 
    super.viewDidLoad() 
    textField.delegate = self 
} 

функция textFieldShouldReturn вызывается, когда вы нажмете клавишу возврата на клавиатуре

func textFieldShouldReturn(_ textField: UITextField) -> Bool { 
    self.resignFirstResponder() //to hide the keyboard 
    //call any of your functions 
    callFunction() 
    return true 
} 

func callFunction() { 
    print("called function after return key was pressed...") 
} 

Все это прекрасно работает для меня в Xcode8 с swift3 и ios10.