ios--简单弹幕实现

  • 无代码不博客.实现太简单不做过多介绍,边看代码变解释.
  • 先看效果图片
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

  • 设置TXTInput的代理,来监听键盘上return建是否被点击.

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    /** 设置代理,监听键盘return键 */
    self.TXTInput.delegate = self;

}

  • 下面是点击return建调用的方法

/** 键盘回车return键调用的方法 */
- (BOOL)textFieldShouldReturn:(UITextField *)textField{

    
   UILabel * lbl = [[UILabel alloc] init];
    [self.view addSubview:lbl];
    
    /** 判断是否是Vip */
//根据是否是Vip来设置label的背景色
    if (self.isVip) {
        
        lbl.backgroundColor = [UIColor redColor];
    } else {
    
        lbl.backgroundColor = [UIColor whiteColor];
    }
    
    lbl.text = self.TXTInput.text;
    
    /** 每次点击return键后清空输入框 */
    self.TXTInput.text = nil;
    
    /** 设置lbl自动适应文字大小 */
    [lbl sizeToFit];
    
    CGFloat w = self.lbl.bounds.size.width;
    CGFloat h = self.lbl.bounds.size.height;
    CGFloat x = kScreenW;

//随机产生y的值,来随机产生lbl的高度
    CGFloat y = arc4random_uniform(kScreenH-self.lbl.bounds.size.height);
    
    lbl.frame = CGRectMake(x, y, w, h);
    
    /** 动画执行 */
    [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];
        
        /** 存储偏好设置或者服务器 */
        
    } else {
        [sender setTitle:@"去会员" forState:UIControlStateNormal];
        self.isVip = YES;
        /** 存储偏好设置或者服务器 */
    }
}

思路:通过产生随机数产生lbl的不同高度,动画实现通过uiview的动画.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,551评论 6 30
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,196评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,975评论 25 708
  • 以前的我 总是不屑于 一见钟情 直到那天 只需一眼 我便知 我已中了相思的毒 几多思索 几多反复 得此一文 你好啊...
    小寇同学阅读 224评论 3 3
  • 第一次带着女儿坐火车回老家过年。带的箱子是我2001年来成都上大学时的那一只。灰不拉叽,提手断了,轮子掉了,拉链也...
    梦想家佳阅读 211评论 1 2