尝试使用Swift来大写文本字段中每个单词的第一个字母

时间:2016-01-01 17:50:43

标签: ios string swift uitextfield capitalization

我正在尝试将每个单词的第一个字母大写到文本字段中。我想把这段代码放在这里:

$.ajax({
    method: "POST",
    url: "some.php",
    data: {
      name: "John",
      location: "Boston"
    }
  })
  .done(function(msg) {

    setTimeout(function() {
      alert($(msg).html());
    }, 5 * 1000);

  });

我的问题是我不知道该放什么。我试过创建一个像一个帖子告诉我要做的字符串,我遇到了麻烦:

func textFieldShouldReturn(textField: UITextField) -> Bool {
//Here
}

我不确定在该函数中放置什么来大写每个单词的第一个字母。

3 个答案:

答案 0 :(得分:12)

只需为文字设置Textfield的大写字母。

enter image description here

答案 1 :(得分:5)

从这个问题的代码方面来看,假设它与var oModel = new sap.ui.model.json.JSONModel(); oModel.loadData("data.json"); var oDataset = new sap.viz.ui5.data.FlattenedDataset({ dimensions: [{ axis : 2, name : oLocText.getText('Id'), value : "{Id}" }], measures : [{ group : 1, name : DataA, value : '{DataA}' },{ group : 2, name: DataB, value: '{DataB}' }], data : { path : "/d/results" } }); oVizFrame.setDataset(oDataset); oVizFrame.setModel(oModel); oVizFrame.setVizType('combination'); oVizFrame.setVizProperties({ title: { visible: true, text: "Combined" }, plotArea: { colorPalette : d3.scale.category20().range(), }}); var feedValueAxis = new sap.viz.ui5.controls.common.feeds.FeedItem({ 'uid': "primaryValues", 'type': "Measure", 'values': [ DataA , DataB] }), feedCategoryAxis = new sap.viz.ui5.controls.common.feeds.FeedItem({ 'uid': "axisLabels", 'type': "Dimension", 'values': [ Id] }); oVizFrame.addFeed(feedValueAxis); oVizFrame.addFeed(feedCategoryAxis); 相关联。

  • 如果需要更改文本字段行为:

    IBOutlet
  • 如果需要更改文本字段的输入,即textField.autocapitalizationType = .Words 本身:

    String
  • 在问题中询问但是:仅仅将第一个字母大写:

    let newText = textField.text?.capitalizedString
    

答案 2 :(得分:1)

这是第一个字母的强制大写:

firstNameTextField.delegate = self

extension YourViewController : UITextFieldDelegate {

    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
        let empty = textField.text?.isEmpty ?? true
        if(empty) {
            textField.text = string.uppercased()
            return false
        }

        return true
    }

}