ボタンの基本をマスター:UIButton

ボタンとは

ボタンとは、主にタップした際に何かアクションを起こす為のパーツです。
クラスはUIButtonとなります。
btn01

ボタンの種類

ボタンは、アトリビューツインスペクタの「Type」で種類を指定できます。
btntype

ボタンには、以下のようなタイプがあります。

Rounded Rect btn01 デフォルト状態での標準です。角丸のボタン内で、文字を入力することができます。
Detail Disclosure btn03 名前の通り、詳細説明の画面に移行する際に利用します。ちなみに、詳細画面に移行する場面以外で使うと、申請の際にリジェクトされる場合もあるようです。
Info Light btn04 情報を表示に使います。こちらは黒系の背景に合わせて使うとよいでしょう。
Info Dark btn05 情報を表示に使います。こちらは白系の背景に合わせて使うとよいでしょう。
Add Contact btn06 何かを追加する際に使います。
Custom btn02 自分のオリジナル画像をボタンに適用することができます。一番使用頻度が高いです。オリジナル画像のボタン背景は透過させておきましょう。

ボタンの設置

ジブファイル(.xib)にボタンを配置します。
btnset

ヘッダーファイル(.h)に定義します。

#import <UIKit/UIKit.h>

@interface TestViewController : UIViewController
{
    UIButton *btn;
}

@property (nonatomic, retain) IBOutlet UIButton *btn;

- (IBAction)BtnPush:(id)sender;

@end

ソースファイル(.m)に追記します。

@implementation TestViewController

@synthesize btn;

-(IBAction)BtnPush:(id)sender{
    
}

- (void)dealloc
{
    [btn release];
    [super dealloc];
}

- (void)viewDidLoad

関連付けをします。

IBActionの関連付け:Touch Up InsideとBtnPushを紐付けます。
btn07

IBOutletの関連付け:btnと紐付けます。
btn08

動作指定

上記例の場合、BtnPushメソッド内に動作を記述します。

-(IBAction)BtnPush:(id)sender{
    //ここに動作指定
}

例えば、以下のようにすると、
ボタンをタップするとラベル「aLabel」の表示を「完了」に変えることができます。

-(IBAction)BtnPush:(id)sender{
    aLabel.text = @"完了";
}

ボタンの基本機能

テキスト表示の設定
メソッド:setTitle
[btn setTitle:@"ボタン" forState:UIControlStateNormal];
※forStateの部分には、ボタンの状態(以下参照)を設定します。
・UIControlStateNormal・・・通常時に適用
・UIControlStateHighlighted・・・ハイライト時に適用
・UIControlStateDisabled・・・無効時に適用(setEnabledで無効にできる)
ハイライト時はボタンを押しているとき、無効時はボタンの機能を無くしたいときに指定して下さい。
テキスト色の設定
メソッド:setTitleColor
[btn setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
※forStateの部分には、ボタンの状態(以下参照)を設定します。
画像の設定
メソッド:setImage
UIImage *img = [UIImage imageNamed:@"btn.png"];
[btn setImage:img forState:UIControlStateNormal];
※ボタン自体の画像を設定します。サイズに気をつけて下さい。
※一行で書く場合は以下のようにします。
[btn setImage:[UIImage imageNamed:@"btn.png"] forState:UIControlStateNormal];
背景画像の設定
メソッド:setBackgroundImage
UIImage *img = [UIImage imageNamed:@"btn.png"];
[btn setBackgroundImage:img forState:UIControlStateNormal];
※ボタンの背景画像を設定します。テキストが上に表示されます。
※一行で書く場合は以下にようにします。
[btn setBackgroundImage:[UIImage imageNamed:@"btn.png"] forState:UIControlStateNormal];
有効・無効の設定
メソッド:setEnabled
[btn setEnabled:NO];
※YESで有効、NOで無効。無効のときはボタン状態「UIControlStateDisabled」が適用されます。
※無効時にはボタンを押しても何も起きません。
背景色の設定
プロパティ名:backgroundColor / プロパティの型:UIColor
btn.backgroundColor = [UIColor redColor];
※プロパティ値の例:redColor(赤色)、blueColor(青色)など
透明度の設定
プロパティ名:alpha / プロパティの型:CGFloat
btn.alpha = 0.3;
※プロパティ値の例:0(透明)〜1(不透明)の間の値を設定して下さい
非表示の設定
プロパティ名:hidden / プロパティの型:BOOL
btn.hidden = YES;
※プロパティ値の例:YES(非表示) / NO(表示)

コメントを残す

サブコンテンツ

このページの先頭へ