swift / UIViewを左右に揺らす
var transform:CGAffineTransform = CGAffineTransformIdentity let duration:Double = 0.5 transform = CGAffineTransformMakeRotation(CGFloat(0.25*M_PI)) UIView.animateWithDuration(duration,animations:{()-> Void in sender.transform = transform }) { (Bool)-> Void in UIView.animateWithDuration(duration,animations:{ () -> Void in sender.transform = CGAffineTransformIdentity }){ (Bool) -> Void in } }
swift / UIButtonをコードでグラデーションかけたり、角丸にしたり
import UIKit import QuartzCore ... let gradient = CAGradientLayer(); gradient.frame = button.bounds; let arryColors = [ colorWithRGBHex(0xFFFFFF,alpha:1.0).CGColor as AnyObject, colorWithRGBHex(0xCCCCCC,alpha:1.0).CGColor as AnyObject ]; gradient.colors = arryColors; button.layer.insertSublayer(gradient, atIndex:0) //ボタンを角丸に button.layer.masksToBounds = true; button.layer.cornerRadius = 5.0; button.setTitleColor(UIColor.blackColor(),forState: UIControlState.Normal);
swift / 画面縦横サイズを取得
let screenWidth:Double = Double(UIScreen.mainScreen().bounds.size.width)
let screenHeight:Double = Double(UIScreen.mainScreen().bounds.size.height)
swift / ColorコードをUIColorに変換
func colorWithRGBHex(hex:Int,alpha: Float = 1.0) -> UIColor{ let r = Float((hex >> 16) & 0xFF); let g = Float((hex >> 8) & 0xFF); let b = Float((hex ) & 0xFF); return UIColor( red: CGFloat(r / 255.0), green: CGFloat(g / 255.0), blue: CGFloat(b / 255.0), alpha: CGFloat(alpha)) }
使い方
let arryColors = [ colorWithRGBHex(0xFFFFFF,alpha:1.0).CGColor as AnyObject, colorWithRGBHex(0xCCCCCC,alpha:1.0).CGColor as AnyObject ];
swift / loadCSV
func loadCSV(filename: String) -> [String] { let csvBundle = NSBundle.mainBundle().pathForResource(filename, ofType: "csv"); var csvArray:Array<String> = []; do { let csvData = try String(contentsOfFile: csvBundle!, encoding: NSUTF8StringEncoding) let lineChange = csvData.stringByReplacingOccurrencesOfString("\r", withString: "\n") csvArray = lineChange.componentsSeparatedByString("\n") } catch { print("csv load error") } return csvArray; }
swift / soundPlayerClass
import Foundation import AVFoundation class SEManager: NSObject,AVAudioPlayerDelegate{ var soundArray = [AVAudioPlayer]() func sePlay(soundName: String ,loop: Bool){ let url = NSBundle.mainBundle().bundleURL.URLByAppendingPathComponent(soundName) var player:AVAudioPlayer? do { try player = AVAudioPlayer(contentsOfURL: url) }catch{ print("Error!") } if(loop){ player?.numberOfLoops = -1; } soundArray.append(player!); player?.delegate = self; player?.prepareToPlay(); player?.play(); } func audioPlayerDidFinishPlaying(player: AVAudioPlayer, successfully flag: Bool) { let i:Int = soundArray.indexOf(player)! soundArray.removeAtIndex(i) } }