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

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




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



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/// プロパティ定義
@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日水曜日