LoginSignup
6
6

More than 5 years have passed since last update.

波紋を作る!

Last updated at Posted at 2017-04-10

会社の同僚(ほぼ友人みたいな...)とアプリを作ろう!となり、

タップしたところに波紋を作りたい...
それをみんなで共有したい...
チャットもできるようにしたい...
そしたら寂しさも紛らわせる...

それ出会い系じゃない?

そんなことから始まりとりあえずプロトタイプ的なものができました。

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.
    }


}

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6