UIPickerViewの項目の高さを調整する(Swift2)

transform 使えっていうのはあるけどそのものズバリの記事が見当たらない
http://stackoverflow.com/questions/29816101/how-to-customise-the-uipickerview-height




UIPickerView.transform プロパティの設定方法



/// プロパティ定義
@IBOutlet weak var supplierPicker: UIPickerView!

/// 初期化処理 viewdidload あたり?
if self.myPicker != nil {
    self.myPicker.delegate = self
    self.myPicker.dataSource = self
    
    // ここでサイズ変更 75%
    let scale: CGFloat = 0.75
    
    let t0 =
        CGAffineTransformMakeTranslation(
            0,
            self.myPicker.bounds.size.height/2 )
    let s0 =
        CGAffineTransformMakeScale(scale, scale)
    let t1 =
        CGAffineTransformMakeTranslation(
            0,
            self.myPicker.bounds.size.height / -2 )
    self.myPicker.transform =
        CGAffineTransformConcat( t0,
                                 CGAffineTransformConcat(s0, t1) )
}
CGAffineTransformMakeScale(幅, 高さ) を指定している。
値が異なると歪むので同一値でいいかと。
当然ながらストーリーボードで表示されるものとは変わってくるので若干調整が必要。

2016年9月28日水曜日