Color, 霓虹灯效果练习

#import "RootViewController.h"

@interface RootViewController (){

CAGradientLayer *gradientLayer;

NSTimer *timer;

}

@end

@implementation RootViewController

- (void)viewDidLoad {

[super viewDidLoad];

UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage   imageNamed:@"美女图.jpg"]];

imageView.frame = self.view.bounds;

gradientLayer = [CAGradientLayer layer];

gradientLayer.frame = imageView.bounds;

[imageView.layer addSublayer:gradientLayer];

[self.view addSubview:imageView];

[imageView release];

//设置颜色渐变方向

gradientLayer.startPoint = CGPointMake(0, 0);

gradientLayer.endPoint = CGPointMake(0, 1);

//设定颜色组

gradientLayer.colors = @[(__bridge id)[UIColor clearColor].CGColor, (__bridge id)[UIColor purpleColor].CGColor];//((__bridge id)把颜色转化为一个对象)

//设定颜色分割点

gradientLayer.locations = @[@(0.5f), @(1.0f)];

//设置时间定时器

timer = [NSTimer scheduledTimerWithTimeInterval:2.0f target:self selector:@selector(TimeChange) userInfo:nil repeats:YES];

}

- (void)TimeChange{

//定时随机颜色

gradientLayer.colors = @[(id)[[UIColor clearColor] CGColor], (id)[UIColor colorWithRed:arc4random() % 256 / 255. green:arc4random() % 256 / 255. blue:arc4random() % 256 / 255. alpha:1.0].CGColor];

gradientLayer.locations = @[@(arc4random() % 10 / 10.0f), @(1.0f)];

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

@end

时间: 2024-10-14 13:33:30

Color, 霓虹灯效果练习的相关文章

android 霓虹灯效果

package com.example.test; import java.util.Timer; import java.util.TimerTask; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.app.Activity; import android.view.Menu; import android.widget.TextView; publi

FrameLayout和handle实现霓虹灯效果

这个程序的主要思想就是在一个FrameLayout中定义多个TextView,分别设置不同的背景色.因为帧布局的特性,所以这些控件都是叠加起来的.然后,通过定时器循环给handler发送消息,改变控件的背景色.最后就能实现霓虹灯的效果了,本实例不怎么实用,仅仅能做一般练习而已. 布局文件 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://

帧布局实现霓虹灯效果

Framelayout即帧布局,使用这种布局可以把几个控件叠加在一起.使用Framelayout结合textview就可以实现一个简单的霓虹灯效果. 一.首先在XML中使用了FrameLayout布局并添加六个TestView文件,并设定了颜色和位置. XML布局如下: <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.and

Android突击:FrameLayout制作霓虹灯效果

1,FrameLayout的层叠嵌套,类似于Photoshop的图层.可以实现类似霓虹灯的效果. 代码大致如下: 首先是main.xml: 主要是几个TextView用来填充,使用的是FrameLayout的布局. <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android&quo

Android 帧布局FrameLayout之霓虹灯效果

FrameLayout的常用XML属性及相关方法 XML 属性       相关属性 说明 android:foreground setForeground(Drawable) 设置该帧布局容器的前景图像 android:foregroundGravity setForegroundGravity(int) 定义绘制前景图像的gravity属性 帧布局的页面定义文件: 1 <?xml version="1.0" encoding="utf-8"?> 2

SVG霓虹灯效果

地铁上逛segmentfault看到一篇用纯css和SVG来实现的很赞的效果,觉得拿来做一些开场效果动画应该不错. 原文地址:https://segmentfault.com/a/1190000010963326 觉得很有趣,正好925快到了,就撸了一个生日快乐的 效果图如下: 就像是一圈圈蚂蚁在它身上爬.....emmmmm奇特的比喻 fill:none;可以让图形不被填充,如果不添加这一属性,则默认填充颜色是black,这个效果 发现stroke这一系列属性都很有意思啊,填充啊透明度和str

iOS 霓虹灯效果

总体思路如下: 利用for 循环创建N个view,并将他们添加到可变数组中,利用NSTimer,实现循环变色的效果(changeColor:),变色的思路:将第i个view 的背景色 和第i + 1 个view 的背景色交换,换完一轮即可,(NSTimer 会自动实现循环) 这里是在试图控制器中写的,所以 把view 添加到self.view里, self.view.subviews(是一个数组(里边是各个VIEW)) - (void)viewDidLoad {    [super viewDi

用UIView写霓虹灯效果。。。NSTimer的使用

首先创建一个视图NioLampViewController类 AppDelegate.h #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @property (strong, nonatomic) UIWindow *window; @end AppDelegate.m #import "AppDelegate.h" #import &quo

android脚步---使用framelayout实现霓虹灯效果

轮换帧布局中7个TextView的背景颜色,会出现上面颜色渐变不断变换. 首先在main.xml文件中进行布局 总体布局为framelayout 中间有7个Textview,代表7种不同的颜色,可以看到高度相同,宽度逐渐减少,则最新添加的textvIEW不会被完全遮挡,设置了颜色渐变 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="v