↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > UIButton

UIButton

 よく使うクラス。UIButtonクラスはボタンを作成します。標準的なものから画像利用したものまで様々な形のボタンを作成します。

サンプル画像

UIButtonのクラス階層

NSObject

UIResponder

UIView

UIControl

UIButton

参考Appleサイト(英語): UIKit Framework Reference UIButton Class Reference

UIButtonの例文

通常の灰色ボタンの作成方法

非常によく利用するクラス。気にいったものを作るカスタマイズ性もありますが、標準のコーッディングでも多彩なものが作成できますので紹介いたします。

サンプル画像

//灰色のボタン生成
let button = UIButton(frame: CGRect(x:0, y:0, width:250, height:50));
button.backgroundColor = UIColor.gray;
button.addTarget(self, action: #selector(ViewController.btn_click(_:)), for: .touchUpInside);
button.setTitle("Swiftサラリーマンボタン", for: UIControlState.normal);
self.view.addSubview(button);
		
//ボタンがクリックされると呼ばれます	
func btn_click(_ sender: UIButton) {
   print("button pressed")
}

背景色が緑色ボタンの作成方法

サンプル画像


//緑色のボタン生成
var button = UIButton(frame: CGRectMake(0, 0, 100, 50));
button.backgroundColor = UIColor(red: 0.0, green: 1.0, blue: 0.0, alpha: 1.0);
button.addTarget(self, action: "btn_click:", forControlEvents:.TouchUpInside);
button.setTitle("Test", forState: UIControlState.Normal);
self.view.addSubview(button);

//ボタンがクリックされると呼ばれます
func btn_click(sender: UIButton){       
        println("button is clcked!")
}


画像を利用した場合ボタンの作成方法

サンプル画像


// 画像を利用した場合の生成

let button = UIButton(frame: CGRect(x:25, y:50, width:250, height:180));
let buttonImage:UIImage = UIImage(named: "btn_image.png")!;
button.setBackgroundImage(buttonImage, for: UIControlState.normal);
button.addTarget(self, action: "btn_click:", for:.touchUpInside);
button.setTitle("Swiftサラリーマンボタン", for: UIControlState.normal);
self.view.addSubview(button);
		

//ボタンがクリックされると呼ばれます
func btn_click(sender: UIButton){       
        println("button is clcked!")
}

UIImageに含まれるbtn_image.pngは画像をプロジェクトに追加しておく必要があります。画像をドラッグしてプロジェクトに移動させて コピーしてください。そうしないとエラーが発生します。


Buttonも文字色を変更する方法

サンプル画像

setTitleColorを変更します


        super.viewDidLoad()
        var button = UIButton(frame: CGRectMake(35, 200, 250, 50));
        button.backgroundColor = UIColor.grayColor();
        button.addTarget(self, action: "btn_click:", forControlEvents:.TouchUpInside);
        button.setTitleColor(UIColor.blueColor(), forState: UIControlState.Normal);
        button.setTitle("Swiftサラリーマンボタン", forState: UIControlState.Normal);
        self.view.addSubview(button);
        

ボタン文字を青色に変更しています。


Buttonの枠を丸くする方法

サンプル画像


var button = UIButton(frame: CGRectMake(0, 0, 250, 50));
button.backgroundColor = UIColor.grayColor();
button.layer.masksToBounds = true;
button.layer.cornerRadius = 20.0;
button.addTarget(self, action: "btn_click:", forControlEvents:.TouchUpInside);
button.setTitle("Swiftサラリーマンボタン", forState: UIControlState.Normal);
self.view.addSubview(button);


ボタンの中に文字を複数行で中央表示する

サンプル画像



        var button = UIButton(frame: CGRectMake(25, 50, 250, 80));
        button.backgroundColor = UIColor.grayColor();
        button.addTarget(self, action: "btn_click:", forControlEvents:.TouchUpInside);
        button.setTitle("Swiftサラリーマンボタン\n(ヒゲがすぐ生える)", forState: UIControlState.Normal);
        button.titleLabel?.numberOfLines = 0;//2=2行、3=3行,0=複数行
        button.titleLabel?.textAlignment = NSTextAlignment.Center; //中央表示だったり、右寄せ左寄せ設定
        self.view.addSubview(button);
        

余談ですがフラットデザイン化が進みましたので、デフォルトのUIButtonでできることは実はUILabelでも結構できてしまいます。

↓こんな記事もありますよ!


2021-05-14 14:21:41

WatchOSのwatchconnectivityのFiletransferの落とし穴。と、避け方。

AppleWatch 実機だと成功するんだけど、シュミレーターだと失敗するという、、、 昔作成してた時は成功してたのになーと思って調べると、どうやら昔は成功してたみたい。watchOS6以降は...

2021-05-06 14:04:37

LINEのアニメーションスタンプ制作の落とし穴、、、失敗談

ゴールデンウィークにLINEスタンプを作成してみました。 作り切って申請も通したんですが、意図したアニメーションと違う、、、、 LINEクリエーターの画面だと、アニメーションのプレビュー...

2021-05-01 18:05:35

久しぶりのAdmobをobjective-cに実装。コンパイルエラーだらけ。バーミッション不具合でエミュレータにインスコできない。

忘れないようにメモ エミュレータにアプリをインストールする際にパーミッション系のエラーがでた時、また、iphone実機にインストールする際にも権限系のエラーが出る場合。 ターゲット→ex...
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!