ios学习第六天(三)自定义UIView下

看效果,利用数学制造神奇效果:

ios学习第六天(三)自定义UIView下ios学习第六天(三)自定义UIView下ios学习第六天(三)自定义UIView下ios学习第六天(三)自定义UIView下


效果还不错,看代码吧,代码很简单,不解释了,可以通过调节变量的值,动态刷新页面,制造彩色动画效果:

//
//  MyMagicalView.h
//  MyUIView
//
//  Created by Moluth on 17/4/12.
//  Copyright (c) 2017年 Moluth. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface MyMagicalView : UIView{
@public double tr,tg,tb;
}

@end


//
//  MyMagicalView.m
//  MyUIView
//
//  Created by Moluth on 17/4/12.
//  Copyright (c) 2017年 Moluth. All rights reserved.
//

#import "MyMagicalView.h"

@implementation MyMagicalView

-(void)drawRect:(CGRect)rect{
    
    // 获取图形绘制上下文
    
    int xa=round(rect.origin.x);
    int xb=round(rect.origin.x+rect.size.width);
    int ya=round(rect.origin.y);
    int yb=round(rect.origin.y+rect.size.height);

    CGContextRef context = UIGraphicsGetCurrentContext();
    double r,g,b;
    for(int x=xa;x<xb;x++){
        for(int y=ya;y<yb;y++){
            
            r=(sin(x*0.0017-y*0.0005+tr+34.1)+1.0)/2.0;
            g=(sin((xb-x)*0.0009+y*0.0015+tg)+1.0)/2.0;
            b=(sin(x*0.0047+(yb-y)*0.0001+tb)+1.0)/2.0;
            CGContextSetRGBFillColor (context,  r, g, b, 1.0);//设置填充颜色
            CGContextFillRect(context,CGRectMake(x, y, 1, 1));
            
        }
    }
    
}


@end




;