IOS暑假小學期實訓 第3天 “UI按鈕交互功能”

2016/07/11

//

// ?ViewController.m

// ?UI按鈕交互功能

//

// ?Created by lanou on 16/7/11.

// ?Copyright ? 2016年yhy. All rights reserved.

//

#import "ViewController.h"

@interface ViewController ()

//標題標簽

@property(nonatomic,strong)UILabel *titleLable;

//左邊按鈕

@property(nonatomic,strong)UIButton *leftBtn;

//右邊按鈕

@property(nonatomic,strong)UIButton *rightBtn;

//顯示圖片

@property(nonatomic,strong)UIImageView *myImageView;

//給存入的四張圖片定義一個數(shù)組

@property(nonatomic,strong)NSArray *imageNames;

@end

@implementation ViewController

//視圖加載好時會自動調用

- (void)viewDidLoad {

[super viewDidLoad];

//創(chuàng)建并初始化標簽

self.titleLable = [[UILabel alloc]initWithFrame:CGRectMake(100, 50, 150, 30)];

//寫入標簽文本

self.titleLable.text = @"biaoqingdi";

//設置標簽文本的背景顏色為紅色

self.titleLable.backgroundColor = [UIColor greenColor];

//設置標簽文本在框中居中對齊

self.titleLable.textAlignment = NSTextAlignmentCenter;

//添加標簽到視圖上

[self.view addSubview:self.titleLable];

//創(chuàng)建并初始化定義(坐標为狸、寬高)相框

self.myImageView = [[UIImageView alloc]initWithFrame:CGRectMake(85, 100, 200, 200)];

//將圖片保存在名為image中(根據(jù)圖片地址名加載圖片)

UIImage *image = [UIImage imageNamed:@"biaoqingdi"];

//顯示圖片

self.myImageView.image = image;

//添加相框到視圖中

[self.view addSubview:_myImageView];

//創(chuàng)建并初始化定義(坐標突想、寬高)左按鈕

self.leftBtn = [[UIButton alloc]initWithFrame:CGRectMake(20, 150, 45, 45)];

//關閉左按鈕的交互

self.leftBtn.userInteractionEnabled = NO;

//將左按鈕的圖片保存在名為leftImage中(根據(jù)圖片地址名加載圖片)

UIImage *leftImage = [UIImage imageNamed: @"left_disable"];

//設置左按鈕的背景圖片(在正常狀態(tài)下)

[self.leftBtn setBackgroundImage:leftImage forState:(UIControlStateNormal)];

//添加左按鈕到視圖上

[self.view addSubview: _leftBtn];

//創(chuàng)建并初始化定義(坐標、寬高)右按鈕

self.rightBtn = [[UIButton alloc]initWithFrame:CGRectMake(305, 150, 45, 45)];

//將右按鈕的圖片保存在名為rightImage中(根據(jù)圖片地址名加載圖片)

UIImage *rightImage = [UIImage imageNamed: @"right_normal"];

//設置右按鈕的背景圖片(在正常狀態(tài)下)

[self.rightBtn setBackgroundImage:rightImage forState:(UIControlStateNormal)];

//添加右按鈕在視圖上

[self.view addSubview:_rightBtn];

//右按鈕監(jiān)聽

[self.rightBtn addTarget:self action:@selector(rightBtnAction) forControlEvents:(UIControlEventTouchUpInside)];

//左按鈕監(jiān)聽

[self.leftBtn addTarget:self action:@selector(leftBtnAction) forControlEvents:(UIControlEventTouchUpInside)];

}

//右按鈕

-(void)rightBtnAction{

//切換圖片 ? 圖片為png格式則不用加后綴名 其他格式需要加后綴

self.imageNames = @[ @"biaoqingdi",@"bingli",@"chiniupa",@"danteng",@"wangba"];

//獲取當前是第幾張圖片(整型變量)

NSInteger index = [self.imageNames indexOfObject:self.titleLable.text];

//把按鈕圖片加載成灰色(正常狀態(tài)下狀態(tài))

//不是為最后一張才切換到下一張

if (index < 4) {

//如果index=3(即圖片從第四張切換到雹仿,第五張時)

if (index == 3) {

//關閉右按鈕交互(右按鈕圖片變?yōu)榛疑?/p>

self.rightBtn.userInteractionEnabled = NO;

//將右按鈕灰色圖片保存在image中(根據(jù)名字加載圖片)

UIImage *image =[UIImage imageNamed:@"right_disable"];

//將右按鈕狀態(tài)為一般(正常)狀態(tài)下的背景圖片設置成為image中圖像

[self.rightBtn setBackgroundImage:image forState:(UIControlStateNormal)];

}

else{

//否則(圖片為第1,2,3張時)

//將兩個按鈕正常狀態(tài)下的背景圖片設置為黑色圖片

[self.rightBtn setBackgroundImage:[UIImage imageNamed:@"right_normal"] forState:(UIControlStateNormal)];

[self.leftBtn setBackgroundImage:[UIImage imageNamed:@"left_normal"] forState:(UIControlStateNormal)];

//開啟兩個按鈕的交互

self.rightBtn.userInteractionEnabled = YES;

self.leftBtn.userInteractionEnabled = YES;

}

//將標簽titleLable內容切換到下一張圖片的標簽內容

NSString *nextTitle = self.imageNames[index+1];

self.titleLable.text = nextTitle;

//將圖片切換到下一張

self.myImageView.image = [UIImage imageNamed: nextTitle];

}

}

//左按鈕

-(void)leftBtnAction{

//切換圖片 ? 圖片為png格式則不用加后綴名 其他格式需要加后綴

self.imageNames = @[ @"biaoqingdi",@"bingli",@"chiniupa",@"danteng",@"wangba"];

//獲取當前是第幾張圖片(整型)

NSInteger index = [self.imageNames indexOfObject:self.titleLable.text];

//不是為第一張才切換到上一張

if (index > 0) {

//第二張切換到第一張時

if (index == 1) {

//左邊按鈕交互關閉(左按鈕圖片變?yōu)榛疑?/p>

self.leftBtn.userInteractionEnabled = NO;

//將左按鈕灰色圖片保存在image中(根據(jù)名字加載圖片)

UIImage *image =[UIImage imageNamed:@"left_disable"];

//將左按鈕狀態(tài)為一般(正常)狀態(tài)下的背景圖片設置成為image中圖像

[self.leftBtn setBackgroundImage:image forState:(UIControlStateNormal)];

}

else{

//否則(圖片為第3,4,5張時)

//將兩個按鈕正常狀態(tài)下的背景圖片設置為黑色圖片

[self.rightBtn setBackgroundImage:[UIImage imageNamed:@"right_normal"] forState:(UIControlStateNormal)];

[self.leftBtn setBackgroundImage:[UIImage imageNamed:@"left_normal"] forState:(UIControlStateNormal)];

//開啟兩個按鈕的交互

self.rightBtn.userInteractionEnabled = YES;

self.leftBtn.userInteractionEnabled = YES;

}

//將標簽titleLable內容切換到上一張圖片的標簽內容

NSString *preTitle =self.imageNames[index-1];

self.titleLable.text = preTitle;

//將圖片切換到上一張

self.myImageView.image = [UIImage imageNamed: preTitle];

}

}

-(void)demo{

//按鈕UIButton

// ? ?UIButton *button = [UIButton buttonWithType: UIButtonTypeContactAdd];

//創(chuàng)建并初始化定義(坐標、寬高)按鈕

UIButton *button = [[UIButton alloc]initWithFrame:CGRectMake(50, 50, 80, 80)];

// ? ? ?frame表明了空間的坐標和寬高(CGRect類型)

[button setTitle:@"眼鏡哥" forState:UIControlEventTouchDown];

//設置按鈕背景色為紅色

button.backgroundColor = [UIColor redColor];

//根據(jù)名字加載圖片

UIImage *image = [UIImage imageNamed:@"right_normal"];

//給按鈕設置背景圖片

[button setBackgroundImage:image forState:UIControlStateNormal];

//按鈕的監(jiān)聽

[button addTarget:self action:@selector(btnClickLister) forControlEvents:UIControlEventTouchUpOutside];

//添加到屏幕上面

[self.view addSubview:button];

//相框UIImageView

//創(chuàng)建并初始化視圖相框

UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(150, 50, 200, 200)];

UIImage *image1 = [UIImage imageNamed:@"biaoqingdi"];

//設置imageView顯示的圖片

imageView.image = image1;

[self.view addSubview:imageView];

//標簽UIlable

UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(150, 270, 150, 30)];

//設置標簽的文本

label.text = @"表情弟";

//設置居中方式(注:是將文本在標簽框內部居中)

label.textAlignment = NSTextAlignmentCenter;

//設置標簽的顏色為紅色

label.textColor = [UIColor redColor];

//將標簽顯示在視圖屏幕上

[self.view addSubview:label];

}

//方法調用

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

}

//調用按鈕監(jiān)聽的方法

-(void)btnClickLister{

//在視圖屏幕中執(zhí)行按鈕操作時竟痰,代碼工程中將會打印“click btn”

NSLog(@"click btn");

}

@end


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末庸蔼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子宇葱,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異萍嬉,居然都是意外死亡,警方通過查閱死者的電腦和手機雷逆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來污尉,“玉大人膀哲,你說我怎么就攤上這事”煌耄” “怎么了某宪?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長锐朴。 經(jīng)常有香客問我兴喂,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任衣迷,我火速辦了婚禮畏鼓,結果婚禮上,老公的妹妹穿的比我還像新娘壶谒。我一直安慰自己云矫,他們只是感情好,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布汗菜。 她就那樣靜靜地躺著让禀,像睡著了一般。 火紅的嫁衣襯著肌膚如雪陨界。 梳的紋絲不亂的頭發(fā)上巡揍,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機與錄音普碎,去河邊找鬼吼肥。 笑死,一個胖子當著我的面吹牛麻车,可吹牛的內容都是我干的。 我是一名探鬼主播斗这,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼动猬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了表箭?” 一聲冷哼從身側響起赁咙,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎免钻,沒想到半個月后彼水,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡极舔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年凤覆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拆魏。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡盯桦,死狀恐怖,靈堂內的尸體忽然破棺而出渤刃,到底是詐尸還是另有隱情拥峦,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布卖子,位于F島的核電站略号,受9級特大地震影響,放射性物質發(fā)生泄漏。R本人自食惡果不足惜玄柠,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一突梦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧随闪,春花似錦阳似、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至当宴,卻和暖如春畜吊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背户矢。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工玲献, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人梯浪。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓捌年,卻偏偏與公主長得像,于是被迫代替她去往敵國和親挂洛。 傳聞我的和親對象是個殘疾皇子礼预,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內容