会社の同僚(ほぼ友人みたいな...)とアプリを作ろう!となり、
タップしたところに波紋を作りたい...
それをみんなで共有したい...
チャットもできるようにしたい...
そしたら寂しさも紛らわせる...
それ出会い系じゃない?
そんなことから始まりとりあえずプロトタイプ的なものができました。
import UIKit
class ViewController: UIViewController {
// transformプロパティを使うのでその値(変形する比率?割合?)を宣言します。
let scaleTransform = CGAffineTransform(scaleX: 0.01, y: 0.01)
// 画面に表示させる波紋の内容をここで設定します。
func makeHamonnImage(wigth w:CGFloat, height h:CGFloat) -> UIImage {
let size = CGSize(width: w, height: h)
UIGraphicsBeginImageContextWithOptions(size, false, 1.0)
let context = UIGraphicsGetCurrentContext()
let ovalRect = CGRect(x: 0, y: 0, width: w, height: h)
let ovalPath = UIBezierPath(ovalIn: ovalRect)
context?.setFillColor(red: 0.0, green: 0.0, blue: 1.0, alpha: 0.0)
ovalPath.fill()
ovalPath.lineWidth = 3.0
context?.setStrokeColor(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0)
ovalPath.stroke()
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image!
}
// 画面がタップされたら処理される内容を設定します。
@IBAction func tapAction(_ sender: UITapGestureRecognizer) {
let HamonnImage = makeHamonnImage(wigth: 300, height: 300)
let HamonnView = UIImageView(image: HamonnImage)
HamonnView.transform = scaleTransform
HamonnView.center = sender.location(in: self.view)
view.addSubview(HamonnView)
UIView.animate(withDuration: 3.0, delay: 0.0, options: [ .curveEaseInOut], animations: {HamonnView.alpha = 0.0
HamonnView.transform = .identity}, completion: nil)
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
view.backgroundColor = UIColor.orange
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}