-
-
Save kylefox/1689973 to your computer and use it in GitHub Desktop.
/* | |
Distributed under The MIT License: | |
http://opensource.org/licenses/mit-license.php | |
Permission is hereby granted, free of charge, to any person obtaining | |
a copy of this software and associated documentation files (the | |
"Software"), to deal in the Software without restriction, including | |
without limitation the rights to use, copy, modify, merge, publish, | |
distribute, sublicense, and/or sell copies of the Software, and to | |
permit persons to whom the Software is furnished to do so, subject to | |
the following conditions: | |
The above copyright notice and this permission notice shall be | |
included in all copies or substantial portions of the Software. | |
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | |
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | |
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | |
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | |
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |
*/ | |
CGFloat hue = ( arc4random() % 256 / 256.0 ); // 0.0 to 1.0 | |
CGFloat saturation = ( arc4random() % 128 / 256.0 ) + 0.5; // 0.5 to 1.0, away from white | |
CGFloat brightness = ( arc4random() % 128 / 256.0 ) + 0.5; // 0.5 to 1.0, away from black | |
UIColor *color = [UIColor colorWithHue:hue saturation:saturation brightness:brightness alpha:1]; |
Obrigado
Thank you for the snippet @kylefox ... I think that on line #26 one should divide by 255 .. mod 256 yields a number between 0 and 255 otherwise you'll never get to 1.0.
Mine was a bit more long but it work
func changeBackgroundColor() {
// this has been taken from stackoverflow.com/questions/27390234/changing-main-view-controller-background-color-from-value-in-nsuserdefaults
//which gave me idea on how the background color works
// initialise defaults
let defaults = NSUserDefaults.standardUserDefaults()
// Start color off with a default value
var color = UIColor.grayColor()
var backcolor = 0
if let backColor = defaults.objectForKey("backColor") as? String {
// accessing the variable
switch backColor {
case "1": color = UIColor.redColor()
case "2": color = UIColor.greenColor()
case "3": color = UIColor.cyanColor()
case "4": color = UIColor.yellowColor()
case "5": color = UIColor.grayColor()
case "6": color = UIColor.orangeColor()
default: break
}
}
//this has been lifted from :
//stackoverflow.com/questions/24007129/how-does-one-generate-a-random-number-in-apples-swift-language
//to give ideas on how random numbers work
// and also cast from Int to String via
// stackoverflow.com/questions/24161336/convert-int-to-string-in-swift
//to give ideas on how random numbers work
NSUserDefaults.standardUserDefaults().setObject( "\(String (Int(arc4random_uniform(UInt32(6)+1))))", forKey: "backColor") //saving a random number and calling it backcolor
NSUserDefaults.standardUserDefaults().synchronize() //
view.backgroundColor = color
}
Beauty!
Thanks !
Here is the snippet
CGFloat redLevel = rand() / (float) RAND_MAX;
CGFloat greenLevel = rand() / (float) RAND_MAX;
CGFloat blueLevel = rand() / (float) RAND_MAX;
self.view.backgroundColor = [UIColor colorWithRed: redLevel
green: greenLevel
blue: blueLevel
alpha: 1.0];
Thank you very much!
Thanks
Swift:
let hue = CGFloat(Double(arc4random() % 256) / 256.0) // 0.0 to 1.0
let saturation = CGFloat(Double(arc4random() % 128) / 266.0 + 0.5) // 0.5 to 1.0, away from white
let brightness = CGFloat(Double(arc4random() % 128) / 256.0 + 0.5) // 0.5 to 1.0, away from black
return UIColor(hue: hue, saturation: saturation, brightness: brightness, alpha: 1.0)
Thanks!
Thx!
Nice, thank you!
Nice thanks
Thanks a lot
I have a color code like "15233421". How can I consider alpha value while using any of the solution?
Thank you! 👍
Thank you so much for this share. It helps people like me who are new to iOS programming in ObjC
Great...!
thanks so much!