UIButtonを継承してカスタムビューを作ってみた

2014.12.11 Thursday 12:01
0
    ※ この記事は『ぼっちブログ Advent Calendar 2014』の12月11日分のエントリとして登録しています。ぼっちなので、ただ一人で興味のあることを気の向くままに書いています。
    ------------



    凝ったアプリを作る上で、独自ビュー(カスタムビュー)っていうのは重要ですよね。

    今までつくり方を知らずに、デフォルトのボタンやパーツなどを使っていました。


    簡単なカスタムビューを作って検証してみましたので、メモとして残しておきます。



    やりたいこと

    カスタムビューを作って、インタフェースビルダー上に配置する。


    やったこと

    まずインタフェースビルダー上にボタンを2つ配置しました。

    ボタン


    上のボタンは、何もしない普通のボタンです。
    カスタムしたボタンとの比較用として設置しました。

    下のボタンをこれからカスタマイズしていきます。


    まずUIButtonを継承して、任意の名前でUICustomButtonという独自のボタンビューを作りました。

    #import <UIKit/UIKit.h>
    
    @interface UICustomButton : UIButton
    
    @end
    


    そして、背景色とタイトルを変更するコードをinitWithCoderに記述します。

    タイトルはとりあえず「Test」にして、背景色を白以外の任意の色にしました。

    #import "UICustomButton.h"
    
    @implementation UICustomButton
    
    - (id)initWithCoder:(NSCoder *)aDecoder
    {
        self = [super initWithCoder:aDecoder];
    
        // 背景色を任意に変更
        self.backgroundColor =[UIColor colorWithRed:0.0 green:1.0 blue:0.5 alpha:0.3];
        // タイトルを任意に変更
        [self setTitle:@"Test" forState:UIControlStateNormal];
        return self;
    }
    
    @end
    

    これで、カスタムビューの出来上がりです。


    あとはインタフェースビルダーから、このカスタムビューを適用します。


    目的のボタンを選択し、Custom Classのウィンドウにて、今回作成したUICustomButtonを選択します。

    Custom class



    Custom Classを変更してもインタフェースビルダー上の見た目は以前と何も変わらないようです。

    ボタン


    しかし、実行してみると、UICustomButtonの内容が適用されていることが確認できます。

    実行結果



    どんな用途で使う?

    たとえば、同じデザインのボタンを画面に複数配置するときは、カスタムビューを一つ作っておけば、お手軽に複製して行きます。
    また、あとでデザイン変更があったときは、そのカスタムビューのクラスを変更すれば、すべてに適用できるというメリットがあります。



    以上、独学で検証してみました。
    category:UI関連 | by:こもcomments(0) | - | -

    Calender
        123
    45678910
    11121314151617
    18192021222324
    252627282930 
    << June 2017 >>
    Sponsored Link
    Selected entry
    Category
    Archives
    Recent comment
    • NSUnknownKeyExceptionが出た時の回避方法
    • NSUnknownKeyExceptionが出た時の回避方法
      atsushi
    • NSUnknownKeyExceptionが出た時の回避方法
      kanejun
    • UITableViewCellに置いたボタンのイベント処理
      こも
    • UITableViewCellに置いたボタンのイベント処理
      かつお
    • NSUnknownKeyExceptionが出た時の回避方法
      こも
    • NSUnknownKeyExceptionが出た時の回避方法
       
    • iOS7のベータ版を入れてみた
      こも
    • iOS7のベータ版を入れてみた
      梅雨
    • iOS7のベータ版を入れてみた
      こも
    Sponsored Link
    Link
    Profile
    Search
    Others
    Mobile
    qrcode
    Powered
    無料ブログ作成サービス JUGEM