ios--簡單彈幕實現(xiàn)

  • 無代碼不博客.實現(xiàn)太簡單不做過多介紹,邊看代碼變解釋.
  • 先看效果圖片
02.gif

#import "ViewController.h"
#define kScreenW [UIScreen mainScreen].bounds.size.width
#define kScreenH [UIScreen mainScreen].bounds.size.height
#define kScreenB [UIScreen mainScreen].bounds
@interface ViewController ()<UITextFieldDelegate>

//輸入框
@property (weak, nonatomic) IBOutlet UITextField *TXTInput;

//判斷是否買了會員
@property (nonatomic, assign) BOOL isVip;

@end

  • 設(shè)置TXTInput的代理,來監(jiān)聽鍵盤上return建是否被點擊.

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    /** 設(shè)置代理,監(jiān)聽鍵盤return鍵 */
    self.TXTInput.delegate = self;

}

  • 下面是點擊return建調(diào)用的方法

/** 鍵盤回車return鍵調(diào)用的方法 */
- (BOOL)textFieldShouldReturn:(UITextField *)textField{

    
   UILabel * lbl = [[UILabel alloc] init];
    [self.view addSubview:lbl];
    
    /** 判斷是否是Vip */
//根據(jù)是否是Vip來設(shè)置label的背景色
    if (self.isVip) {
        
        lbl.backgroundColor = [UIColor redColor];
    } else {
    
        lbl.backgroundColor = [UIColor whiteColor];
    }
    
    lbl.text = self.TXTInput.text;
    
    /** 每次點擊return鍵后清空輸入框 */
    self.TXTInput.text = nil;
    
    /** 設(shè)置lbl自動適應(yīng)文字大小 */
    [lbl sizeToFit];
    
    CGFloat w = self.lbl.bounds.size.width;
    CGFloat h = self.lbl.bounds.size.height;
    CGFloat x = kScreenW;

//隨機產(chǎn)生y的值,來隨機產(chǎn)生lbl的高度
    CGFloat y = arc4random_uniform(kScreenH-self.lbl.bounds.size.height);
    
    lbl.frame = CGRectMake(x, y, w, h);
    
    /** 動畫執(zhí)行 */
    [UIView animateWithDuration:5.0 animations:^{
       
        lbl.frame = CGRectMake(-self.lbl.bounds.size.width, y, w, h);
    }];

    return YES;
}

  • 點擊買會員按鈕,如果不是會員點擊后,變會員同時改變文字.
- (IBAction)clickVipBtn:(UIButton *)sender {
    
    if (self.isVip) {
        self.isVip = NO;
        [sender setTitle:@"買會員" forState:UIControlStateNormal];
        
        /** 存儲偏好設(shè)置或者服務(wù)器 */
        
    } else {
        [sender setTitle:@"去會員" forState:UIControlStateNormal];
        self.isVip = YES;
        /** 存儲偏好設(shè)置或者服務(wù)器 */
    }
}

思路:通過產(chǎn)生隨機數(shù)產(chǎn)生lbl的不同高度,動畫實現(xiàn)通過uiview的動畫.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在iOS中隨處都可以看到絢麗的動畫效果,實現(xiàn)這些動畫的過程并不復(fù)雜,今天將帶大家一窺ios動畫全貌。在這里你可以看...
    每天刷兩次牙閱讀 8,698評論 6 30
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,550評論 4 61
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,291評論 25 708
  • 以前的我 總是不屑于 一見鐘情 直到那天 只需一眼 我便知 我已中了相思的毒 幾多思索 幾多反復(fù) 得此一文 你好啊...
    小寇同學(xué)閱讀 242評論 3 3
  • 第一次帶著女兒坐火車回老家過年。帶的箱子是我2001年來成都上大學(xué)時的那一只?;也焕瓏\,提手?jǐn)嗔?,輪子掉了,拉鏈?..
    夢想家佳閱讀 229評論 1 2

友情鏈接更多精彩內(nèi)容