How to make UIView background colour continuous changing like an Instagram log-in screen has as shown in the images without load in the memory.
            Asked
            
        
        
            Active
            
        
            Viewed 578 times
        
    1
            
            
         
    
    
        Bhargav Kukadiya
        
- 418
- 7
- 17
- 
                    1Possible duplicate of [How do you explicitly animate a CALayer's backgroundColor?](http://stackoverflow.com/questions/518192/how-do-you-explicitly-animate-a-calayers-backgroundcolor) – Cyrille Jul 15 '16 at 12:46
- 
                    you can use NSTimer ? – balkaran singh Jul 15 '16 at 12:49
1 Answers
0
            
            
        To change the background color you just do:
    self.view.backgroundColor=yourColor;
and to change this continuously you can use a timer.IF you have a an array colors for the background, store the colors in an array.
   NSArray *colorArray=@[colo1,color2....colorn];
You can also generate a random color and pass it to the view background.In that case you can just do(In this case, you don't have to store the colors in an array)
      self.view.backgroundColor=metodThatReturnsRandomColor.
OR, declare the timer to call the changeColor method every 1.0 sec .
  @property (nonatomic, retain) NSTimer * timerIvar;
 self.timerIvar  = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(changeColor) userInfo:nil repeats:YES];
and the method would be:
-(void)changeColor{
         if(x<colorArray.count){
        self.view.backgroundColor=colorArray[x];
        }else{
          x=0;
       }
        x++;
  }
The same logic applies for images/ gradient colors.
and remember on viewWillDisappear
- (void)viewWillDisappear:(BOOL)animated
{
  ...
  [self.timerIvar invalidate];
 self.timerIvar = nil;
}
 
    
    
        Community
        
- 1
- 1
 
    
    
        Teja Nandamuri
        
- 11,045
- 6
- 57
- 109
- 
                    Well this will look kind of awful, or you will have to have a really huge array with all color gradations – s1ddok Jul 15 '16 at 12:41
- 
                    It would be better to create a color gradient in the loop instead of picking it up from an array. Otherwise it would look like a cheap neon sign, changing colors. – NSNoob Jul 15 '16 at 12:41
- 
                    I don't think storing colors would create a memory issue as long as you manage it properly. @s1ddok – Teja Nandamuri Jul 15 '16 at 12:43
- 
                    I agrre @NSNoob. Unless the OP has a special requirement of colors, he can create the colors in a loop. If he has a specific set of interests, then storing them in an array would be the simpler solution. – Teja Nandamuri Jul 15 '16 at 12:44

