使用UITextField进行搜索

时间:2017-05-18 20:18:21

标签: ios swift uitextfield uisearchbar

我到处寻找,似乎并不是一个明显的例子。我试图实现这一点,textField将充当searchBar,然后用户可以添加该项: enter image description here

大多数示例似乎都使用UI SearchBar和tableView来显示过滤结果。但是没有真正的例子只使用textField。

我的另一个选择是尝试只是获得一个自动完成,它检查输入的字符是否与数据数组匹配,如下所示:

我可以遵循更清晰的示例或教程吗?我对编程很新,所以我更喜欢在Swift中。

其他类似参考:

http://www.iostutorialjunction.com/2017/04/integrate-search-functionality-in-ios-using-swift3.html

How to make UITextField behave like a UISearchBar in Swift?

https://www.raywenderlich.com/113772/uisearchcontroller-tutorial

http://www.matthewhsingleton.com/blog/2016/5/26/predictive-text-table-view-swift-version-of-ray-wenderlich

https://www.youtube.com/watch?v=YZ_S2GHFwW4

https://www.youtube.com/watch?v=XtiamBbL5QU&t=975s

Getting autocomplete to work in swift

https://github.com/EddyBorja/MLPAutoCompleteTextField

2 个答案:

答案 0 :(得分:1)

有很多方法可以完成这项任务。 您可以在其后面放置UILabel//Below line will set a method to textFields value change event. searchTextField.addTarget(self, action: #selector(self.textIsChanging(textField:)), for: .editingChanged) func textIsChanging(textField: UITextField) { } 。 每当你输入一个单词时,只需更改该标签的文字即可。将Label的textColor设置为lightGrey颜色,你会很高兴。 设置一个每次用户输入时调用的方法,使用下面的代码。

public static NetworkInterface GetActiveEthernetOrWifiNetworkInterface()
{
    var Nic = NetworkInterface.GetAllNetworkInterfaces().FirstOrDefault(
        a => a.OperationalStatus == OperationalStatus.Up &&
        (a.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 || a.NetworkInterfaceType == NetworkInterfaceType.Ethernet) &&
        a.GetIPProperties().GatewayAddresses.Any(g => g.Address.AddressFamily.ToString() == "InterNetwork"));

    return Nic;
}

答案 1 :(得分:0)

您可以使用委托方法 textFieldDidChangeSelection(_ textField: UITextField),对我有用