フリープログラマー日記

iOS,アンドロイド開発を気ままにしながら生きてるおじさんのブログです。

第19回 swift で UIButton!

swift で ボタンを作ってみます。

        // UIButton 2個、「メニューに戻る」「奏者選択終了」
        // ボタンのサイズは共通
        let buttonSize: CGSize = CGSize(width: myWidth*0.4, height: myWidth*0.1)
        let cancelButtonPoint: CGPoint =
            CGPoint(x: myWidth*0.07, y: myHeight-myWidth*0.15)
        let okButtonPoint: CGPoint =
            CGPoint(x: myWidth*0.53, y: myHeight-myWidth*0.15)
        let buttonBackColor = UIColor(red: 50/255, green: 150/255, blue: 50/255, alpha: 255/255)
        
        
        
        let cancelButton =
            UIButton(frame: CGRect(origin: cancelButtonPoint, size: buttonSize))
        cancelButton.setTitle("メニューに戻る", for: UIControlState.normal)
        cancelButton.backgroundColor = buttonBackColor
        
        let okButton =
            UIButton(frame: CGRect(origin: okButtonPoint, size: buttonSize))
        okButton.setTitle("走者選択終了", for: .normal)
        okButton.backgroundColor = buttonBackColor
        
        addSubview(cancelButton)
        addSubview(okButton)

ボタンのサイズは横幅の40%に決め撃ちです。
左右に7%、中央に6%の余白を開けています。
文字が溢れないようにこのサイズにしましたが、大きな文字表示に設定していますと、はみ出す可能性があるかもしれません。悩むな〜。

これによって、iPAD,iPhone8,iphone5Sでシュミレートしたら、次のようになりました。

f:id:momonga117:20180517142606p:plain

ボタン内の余白が調整されているのがわかると思います。

が、しかし。しかしですよ。ねえ。(って誰に行ってるんだか・・・)
これって本当にUIButtonクラスを使う必要があるのでしょうか?

UIButtonクラスって本当に便利なんですか?
教科書には決まって最初に書かれています。
文字を入れたりとか、なんとなく他と違うし、結構お面倒だし、色々な便利な機能を用意しているのはわかるのですが、そのほとんどを使ってないし。
おまけに、addTargetがいまいちよくわからないし。(素人なもので。)

もひとつおまけなんですが、仕様がよく変わりますよね?

CGRectZEROがCGRect.zeroになってたり、CGRectMakeがなくなってたり。(ちょっと前に買った)解説本が悩みのタネになったりしてませんか?

時間に余裕のない素人が、最新情報を追っかけるのはとても辛いんですよね。

ということで、画面はあとスクロールビューの設置へと向かいます。

スクロールビューだけは攻略しないと自前ではなんともならない気がします。