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!")
}


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

サンプル画像


//緑色のボタン生成
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でも結構できてしまいます。

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

CoreTextでTextViewの一文字の向きを変える(#2)

さて、サンプルそのままだと面白くないので、本日6月から開始する自転車規制強化 にのっかったサンプル<自転車の転だけ横に曲げる>にしてみます。(14歳以上が対象。自転車のイヤホン装着や片手走行、 酔っ払い運転、歩道運転、片手スマホ、、、、今まで誰もがやり通してきたことが「逮捕や補導の対象」となるようです。赤切符もきられる ようになるとのことで、自転車に酔っ払ってのって自動車の免停なんかになりかね無いので注意です)

SqliteのDBファイル保存+レビュー却下

2回既にレビューを通過していたアプリが、バイナリレビューで却下されてしまいました。理由は、2.23 Details On launch and content download, your app stores 26.48MB on the user's iCloud, which does not comply with the iOS Data Storage となっていてiCouldに保存される量にしては多いから管理してください、といった旨の内容でした。別に却下理由に難癖つけるつもりではないのですが、最初のレビュー時にいってほしい。。。

WatchKitでタイマーアプリを作成する。

簡単なアプリを作成しながらAppleWatchを学んでいきます。前回の記事で大まかな動きは理解できましたので、 つぎはAppleWatchとアプリとの連携をタイマー機能を利用して検証していきます
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!