画面サイズの割合に応じてでしたら、Autolayout
でできますが各inchサイズ
ごとにと言うと、以下のようにサイズを直接変更するか、width
の制約を@IBOutlet
で結びそれを変更するしか無いと思います。
swift
1import UIKit
2
3class ViewController: UIViewController {
4
5 @IBOutlet weak var segmentedControl: UISegmentedControl!
6
7 override func viewDidLayoutSubviews() {
8 super.viewDidLayoutSubviews()
9
10 var segmentWidth: CGFloat = 0
11
12 switch UIScreen.mainScreen().bounds.size {
13 case CGSize(width: 320.0, height: 480.0): segmentWidth = 100 // 3.5inch
14 case CGSize(width: 320.0, height: 568.0): segmentWidth = 200 // 4 inch
15 case CGSize(width: 375.0, height: 667.0): segmentWidth = 300 // 4.7inch
16 case CGSize(width: 414.0, height: 736.0): segmentWidth = 400 // 5.5inch
17 default: print("上記以外")
18 }
19 segmentedControl.frame.size.width = segmentWidth
20 }
21}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/02 05:45