UIButton

目錄
    1.1 單選邏輯
    1.2 多選邏輯
    1.3 點(diǎn)擊放大
1.1 單選

#import "ViewController.h"

@interface ViewController ()

@property (nonatomic, strong)UIButton *lastButton;

@end

@implementation ViewController

- (void)viewDidLoad {
    
    [super viewDidLoad];
    
    for (int i = 0; i < 3; i++){
        
        UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    
        button.frame = CGRectMake(100+i*(50+20) , 200, 50, 20);
    
        [button setTitle:@"單選" forState:UIControlStateNormal];
        
        [button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
    
        [button setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
        button.tag = i;
    
      [self.view addSubview:button];
    
    }
}


//點(diǎn)擊事件
- (void)buttonClicked:(UIButton *)button{
    
    if (button != self.lastButton) {
        
        switch (button.tag) {
                
            case 0:
                
                NSLog(@"0");
                
                break;
                
            case 1:
                
                NSLog(@"1");
                
                break;
                
        }
        
    }
    
   // 設(shè)置顏色改變
    
    [button setTitleColor:[UIColor orangeColor] forState:UIControlStateNormal];
    
    [self.lastButton setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
    
    self.lastButton = button;
    
}
@end
1.2 多選

#import "ViewController.h"

@interface ViewController ()

//定義一個(gè)保存點(diǎn)擊的字典
@property (nonatomic, strong)NSMutableDictionary *mainDictionary;

@end

@implementation ViewController

- (void)viewDidLoad {
    
    [super viewDidLoad];
    
    self.mainDictionary = [[NSMutableDictionary alloc]init];
    
    for (int i = 0; i < 3 ; i++) {
        
        
        UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        
        button.frame = CGRectMake(100+i*(50+20) , 200, 50, 20);
        
        [button setTitle:@"多選" forState:UIControlStateNormal];
        
        [button addTarget:self action:@selector(buttonClicked:)
         forControlEvents:UIControlEventTouchUpInside];
        
        [button setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
        
        button.tag = i;
        
        [self.view addSubview:button];
        
    }
    
}


//點(diǎn)擊事件

- (void)buttonClicked:(UIButton *)button{
    
    
    if ([[self.mainDictionary allKeys]containsObject:@(button.tag)]) {
        
        [self.mainDictionary removeObjectForKey:@(button.tag)];
        
        [button setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
        
    }else{
        
        [self.mainDictionary setObject:@(button.tag) forKey:@(button.tag)];
        
        [button setTitleColor:[UIColor orangeColor] forState:UIControlStateNormal];
        
    }
    
    NSLog(@"%@",self.mainDictionary);
    
}
@end
1.3 點(diǎn)擊放大特效

#import Foundation/Foundation.h(這里需要加尖括號(hào))

#import UIKit/UIKit.h

@interface JDButtton : NSObject

/**
 * function: view先縮小月培,然后放大動(dòng)畫(收藏和點(diǎn)贊)
 * param: 如果無法在NSObject里寫UIButton抬伺,缺少庫(kù)
 *
 */

+ (void)buttonAnimation:(UIButton*)button;

@end



#import "JDButtton.h"

@implementation JDButtton

+ (void)buttonAnimation:(UIButton*)button{
    
    CAKeyframeAnimation * animation;
    
    animation = [CAKeyframeAnimation animationWithKeyPath:@"transform"];
    
    animation.delegate = self;
    
    animation.duration = 0.2;
    
    animation.removedOnCompletion = NO;
    
    animation.fillMode = kCAFillModeForwards;
    
    NSMutableArray *values = [NSMutableArray array];
    
    [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.0, 1.0, 1.0)]];
    
    [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(2.5, 2.5, 1.0)]];
    
    [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.0, 1.0, 1.0)]];
    
    animation.values = values;
    
    animation.timingFunction = [CAMediaTimingFunction functionWithName: @"easeInEaseOut"];
    
    [button.layer addAnimation:animation forKey:nil];
    
    CAKeyframeAnimation * animation;
    
}

@end
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市肠套,隨后出現(xiàn)的幾起案子僚饭,更是在濱河造成了極大的恐慌迄薄,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件革骨,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡析恋,警方通過查閱死者的電腦和手機(jī)良哲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來助隧,“玉大人筑凫,你說我怎么就攤上這事〔⒋澹” “怎么了巍实?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)哩牍。 經(jīng)常有香客問我棚潦,道長(zhǎng),這世上最難降的妖魔是什么膝昆? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任瓦盛,我火速辦了婚禮洗显,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘原环。我一直安慰自己挠唆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布嘱吗。 她就那樣靜靜地躺著玄组,像睡著了一般。 火紅的嫁衣襯著肌膚如雪谒麦。 梳的紋絲不亂的頭發(fā)上俄讹,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音绕德,去河邊找鬼患膛。 笑死,一個(gè)胖子當(dāng)著我的面吹牛耻蛇,可吹牛的內(nèi)容都是我干的踪蹬。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼臣咖,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼跃捣!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起夺蛇,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤疚漆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后刁赦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體娶聘,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年甚脉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了丸升。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡宦焦,死狀恐怖发钝,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情波闹,我是刑警寧澤酝豪,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站精堕,受9級(jí)特大地震影響孵淘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜歹篓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一瘫证、第九天 我趴在偏房一處隱蔽的房頂上張望揉阎。 院中可真熱鬧,春花似錦背捌、人聲如沸毙籽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)坑赡。三九已至,卻和暖如春么抗,著一層夾襖步出監(jiān)牢的瞬間毅否,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工蝇刀, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留螟加,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓吞琐,卻偏偏與公主長(zhǎng)得像捆探,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子顽分,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容