Swift転職なら=>【LevTech】
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

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

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

HOME > UIButton

UIButton

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

サンプル画像

UIButtonのクラス階層

NSObject

UIResponder

UIView

UIControl

UIButton

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

UIButtonの例文

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

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

サンプル画像


//灰色のボタン生成
var button = UIButton(frame: CGRectMake(0, 0, 250, 50));
button.backgroundColor = UIColor.grayColor();
button.addTarget(self, action: "btn_click:", forControlEvents:.TouchUpInside);
button.setTitle("Swiftサラリーマンボタン", forState: UIControlState.Normal);
self.view.addSubview(button);

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

Swift 3.0 

微妙に違ってきていますのでご注意ください。2017年3月1日

//灰色のボタン生成
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!")
}


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

サンプル画像


// 画像を利用した場合の生成
var button = UIButton(frame: CGRectMake(25, 50, 250, 180));
var buttonImage:UIImage = UIImage(named: "btn_image.png")!;
button.setBackgroundImage(buttonImage, forState: UIControlState.Normal);
button.addTarget(self, action: "btn_click:", forControlEvents:.TouchUpInside);
button.setTitle("Swiftサラリーマンボタン", forState: 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でも結構できてしまいます。

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

Facebook SDKを試してみる(ログイン)

さて、前回記事でSDKをダウンロードした状態ですので、プロジェクトに追加してみましょう。 SDKがインストールされたDirectoryへ移動します。必要なSDKはFBSDKCoreKit.fraweworkなので、何個かその他frameworkはありますが、 それだけをプロジェクトにドラッグしてみましょう。

Pre特殊文字難民

記事を書いている時によくつまずくことがあります。preでコードを表示する際に、 カッコを使うと文章が消えてしまったり、ドルマークの変数が表示できなかったり。その度に検索して探しているのでサイトの中に入れてしまいます。 以前のバックスラッシュもそうですが、こういった特殊文字難民対策のページにしておきます。

新しくなったLawsonの無料WiFiを試してみた

ネットでローソン無料Wifiを調べていたのですがネットを接続するにはアプリが必要との誤情報が多かった(今まではアプリが必要だった)ですが、2015年の6月からはアプリの必要ありません。 Wifiで接続して登録すればPCからでも利用できました。手順を記載してまいります。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!