UIPickerViewのフォントサイズにはさまざまな解決策がありますが、それらはすべてテキストベースの配列に基づいているか、UIViewControllerを必要としているようです。 私はUITableViewCell内でInt Arrayを使用していますが、達成しようとしているもので動作するものを見つけることができないようです。UIPickerViewのフォントサイズを調整する
import UIKit
class AirTemperatureTableViewCell: UITableViewCell, UIPickerViewDelegate, UIPickerViewDataSource
{
let numberOfComponents: Int = 2
let temperatureComponentRows: Int = 501
let temperatureSymbolComponentRows: Int = 2
let Fahrenheit: String = "F"
let Celsius: String = "C"
let minDegrees = -250
let maxDegrees = 250
private var degrees: Array<Int> = [Int]()
var temperature: Int = 30 // our default temperature
var temperatureType: String = "C" // our default type is Celsius
@IBOutlet var airTemperaturePicker: UIPickerView!
override func awakeFromNib()
{
super.awakeFromNib()
for i in self.minDegrees ..< self.maxDegrees+1
{
self.degrees.append(i)
}
self.airTemperaturePicker.selectRow(280, inComponent: 0, animated: true)
}
override func setSelected(selected: Bool, animated: Bool)
{
super.setSelected(selected, animated: animated)
}
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int
{
return self.numberOfComponents
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int
{
if component == 0
{
return self.temperatureComponentRows
}
else
{
return self.temperatureSymbolComponentRows
}
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String?
{
//
// If we are component 0, the degrees, return the value for the given row.
//
if component == 0
{
return String(self.degrees[row])
}
else
{
if row == 0
{
return self.Celsius
}
else
{
return self.Fahrenheit
}
}
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
}
}
任意の助けをいただければ幸いです。ここ
はコードです。
これは私の答えとどう違うのですか? – Ike10
Caxix、私は...を削除し、正常に動作します。唯一の問題は、私が "C"または "F"記号を失ったことです。どのように私はそれらを戻すことができますか? –
私は、else節のケースで自分の答えを更新しました。あなたはおそらくカスタム色、整列などでいくつかの追加の書式設定をしたいでしょう。 – caxix