0

Good morning. I am trying to code for a custom keyboard with Swift, and the key point of the keyboard is a custom font I want to use. The font works in xcode, the problem isn't its settings. Since I'm pretty new using Swift, I don't know how to do this. Here is my code:

let buttonTitles1 = ["Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P"]
    let buttonTitles2 = ["A", "S", "D", "F", "G", "H", "J", "K", "L"]
    let buttonTitles3 = ["CP", "Z", "X", "C", "V", "B", "N", "M", "BP"]
    let buttonTitles4 = ["CHG", "SPACE", "RETURN"]

    let row1 = createRowOfButtons(buttonTitles1)
    let row2 = createRowOfButtons(buttonTitles2)
    let row3 = createRowOfButtons(buttonTitles3)
    let row4 = createRowOfButtons(buttonTitles4)

    self.view.addSubview(row1)
    self.view.addSubview(row2)
    self.view.addSubview(row3)
    self.view.addSubview(row4)

    row1.translatesAutoresizingMaskIntoConstraints = false
    row2.translatesAutoresizingMaskIntoConstraints = false
    row3.translatesAutoresizingMaskIntoConstraints = false
    row4.translatesAutoresizingMaskIntoConstraints = false

    addConstraintsToInputView(self.view, rowViews: [row1, row2, row3, row4])


}

func createRowOfButtons(buttonTitles: [NSString]) -> UIView {

    var buttons = [UIButton]()
    var keyboardRowView = UIView(frame: CGRectMake(0, 0, 320, 50))

    for buttonTitle in buttonTitles{

        let button = createButtonWithTitle(buttonTitle as String)

        buttons.append(button)
        keyboardRowView.addSubview(button)
    }

    addIndividualButtonConstraints(buttons, mainView: keyboardRowView)

    return keyboardRowView
}

Truth to be told, I don't even know where to change the font. Should I do it in thebuttonTitles1 part or later in the createRowOfButtons func? Thanks.

  • maybe try to create array of attributed string for letter? – Tj3n Feb 23 '16 at 07:49
  • You would probably wanna do it your for loop inside createRowOfButtons(..) add a font/attributed string to buttonTitle – user2277872 Feb 23 '16 at 07:55
  • Ok. How can I do? I tried but it seems it didn't work.... – Arvendui Feb 23 '16 at 08:46
  • http://stackoverflow.com/questions/24666515/how-do-i-make-an-attributed-string-using-swift – Subin K Kuriakose Feb 23 '16 at 08:51
  • I've done like this... what's wrong? `func createRowOfButtons(buttonTitles: [NSString]) -> UIView {var buttons = [UIButton]()var keyboardRowView = UIView(frame: CGRectMake(0, 0, 320, 50))for buttonTitle in buttonTitles{ let button = createButtonWithTitle(buttonTitle as String) let myAttribute = [ NSFontAttributeName: UIFont(name: "Zapfino", size: 18.0)! ] let buttonTitle = NSMutableAttributedString(string: "\(buttonTitle)", attributes: myAttribute ) buttons.append(button) keyboardRowView.addSubview(button) }` – Arvendui Feb 23 '16 at 19:02

0 Answers0