web-dev-qa-db-ja.com

iOS 9UIButtonの初期化

プログラムでUIButtonを初期化しようとしていますが、次のエラーの1つが表示されます。

buttonWithTypeは使用できません:オブジェクト構築を使用してくださいUIButton(type :)

または

エラー:呼び出しの引数ラベルが正しくありません( 'buttonWithType:'、予期される 'type:'があります)

  for char in keys {
        let btn: UIButton = UIButton.buttonWithType(UIButtonType.System) as UIButton

        btn.frame = CGRectMake(0, 0, 20, 20)
        btn.setTitle(char, forState: .Normal)
        btn.sizeToFit()
        btn.titleLabel?.font = UIFont.systemFontOfSize(20)

        btn.backgroundColor = UIColor(hue: (216/360.0), saturation: 0.1, brightness: 0.81, alpha: 1)//
        btn.setTitleColor(UIColor(white: 1.0, alpha: 1.0), forState: .Normal)

        btn.setContentHuggingPriority(1000, forAxis: .Horizontal)
        btn.setContentCompressionResistancePriority(1000, forAxis: .Horizontal)

        btn.addTarget(self, action: Selector("handleBtnPress:"), forControlEvents: .TouchUpInside)

        self.addSubview(btn)
    }

error

11
Swift2

UIButtonの便利な初期化子が変更されました。

convenience init(type buttonType: UIButtonType)

スウィフト3:

let btn = UIButton(type: .system) // note the lower case s

スイフト2.x:

let btn = UIButton(type: .System)
32
JAL

iOS 10 Xcode8...。

    let button = UIButton(type: .system) // note the lower case s
    button.setTitle("Dismiss", for: UIControlState())
    button.backgroundColor = UIColor.white
    let buttonWidth: CGFloat = alertWidth/2
    let buttonHeight: CGFloat = 40
    button.frame = CGRect(x: alertView.center.x - buttonWidth/2, y: alertView.center.y - buttonHeight/2, width: buttonWidth, height: buttonHeight)
    button.addTarget(self, action: #selector(ExampleIIIViewController.dismissAlert), for: UIControlEvents.touchUpInside)

    alertView.addSubview(button)
0
emraz