私はiOS開発を初めて行い、Swift 3.0を使用して作成されたiOSアプリケーションでいくつかのバグを修正する予定ですXcode 8とそれはほぼ正常に動作します。しかし、Xcode 9とSwift 4.0でそれを開くと、以前のボタンとは異なるボタンがいくつか表示されます。Swift 3.0を使用して開発されたSwift 4.0を使用してiOSアプリケーションのボタンの高さと幅を変更する方法
これらのボタンのソースコードを次に示します。
let button: UIButton = UIButton.init(type: UIButtonType.custom)
//set image for button
button.setImage(UIImage(named: "menu.png"), for: UIControlState())
button.frame = CGRect(x: 0, y: 0, width: 30, height: 23)
let barButton = UIBarButtonItem(customView: button)
button.addTarget(self, action: #selector(ViewController.shareButtonPressed), for: UIControlEvents.touchUpInside)
self.navigationItem.leftBarButtonItem = barButton
このコードは、ViewDidLoadメソッドの内部にあります。私は削除したときに私の問題は、それは、ボタンを消えるが、私は
button.frame = CGRect(x: 0, y: 0, width: 30, height: 23)
、からの高さと幅を変更したときに、それは何も変わらない、
button.setImage(UIImage(named: "menu.png"), for: UIControlState())
です。 私の問題は、どうすればこのバグを修正できるかです。任意の提案、答えは高く評価され、与えられた詳細が十分でない場合は、言及してください。ありがとうございました!
は答えをいただき、ありがとうございます。 {:.isActive =真 button.widthAnchor.constraint(20.0 equalToConstant)}他{// フォールバック以前のバージョン 上} ' –
はいそれはこの ' #available(iOSの9.0、*)かのように動作します。アンカーはiOS 9で導入されました。その下にターゲットを絞っている場合は、「#available」が必要ですが、前述のように制約サイズはiOS 11以降でのみ適用されます。 – beyowulf