UIPickerViewでFont Picker作るぜ!Swift3
UIPickerViewでFont Pickerを作ろうと思います。
Swift3のUIPickerViewでFont Pickerを作るためにはDelegateで表示するUIViewを返すメソッドにFontを指定したラベルを返せばUIPickerViewでFont Pickerを作ることができます
下記のteratailを参考に、ほぼコピペで簡単に作ることができました。
コードは下記です。必要最低限の部分だけ抜歯してるので、Swiftの基本的な使い方に慣れてないと理解しづらいかもしれません。すみません。
[php]
//ピッカーに表示される配列の値です
var Arr: hogeArray = ["date1" ,"date2","date3"]
//配列の値に対して指定するフォント名です
//suusikiというフォントは外部から持ってきたフォントのため勝手に反映はされませぬ
//DBLCDTempBlackとMarkerFelt-Thinは勝手に反映されます
var fontArray = ["suusiki","DBLCDTempBlack","MarkerFelt-Thin"]
//fontを変える
func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
// 表示するラベルを生成する
let label = UILabel(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height: 50))
//ラベルをセンターにします
label.textAlignment = .center
//ラベルのテキスト(値)に配列の値を指定します
label.text = hogeArr[row]
//ラベルのテキストのフォントにフォントを入れた配列の値を指定します
label.font = UIFont(name: fontArray[row],size:20)
リターンでラベルを返す
return label
}
参考
[urlpreviewbox url=”https://teratail.com/questions/37836″/]