Tips iOS: Draw & Animation trái tim nhân dịp lễ thất tịch

ngochoanjason

New member
..

Ngày lễ tình nhân sắp diễn ra, và cách nào tốt hơn để cho người thân của bạn thấy bạn quan tâm đến việc lấy trái tim họ như thế nào?Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách vẽ và làm động một trái tim bằng cách sử dụng khung UIKIT trong iOS.

## 1. vẽ trái tim

Để vẽ một trái tim, chúng tôi sẽ sử dụng lớp `Uibezierpath`.Lớp này cung cấp một cách đơn giản để tạo và thao tác các đường dẫn vector.Chúng ta sẽ bắt đầu bằng cách tạo một đối tượng `Uibezierpath` mới và đặt màu đột quỵ của nó thành màu đỏ.

`` `
Let Path = Uibezierpath ()
path.lineWidth = 5.0
path.LineCapstyle = .Round
path.lineJoinStyle = .Round
path.strokecolor = uicolor.red
`` `

Tiếp theo, chúng ta sẽ sử dụng các phương thức `Move ()` và `addArc ()` để vẽ hình trái tim.

`` `
path.move (đến: cgpoint (x: 100, y: 100))
path.Addarc (withcenter: cgpoint (x: 100, y: 100), bán kính: 50, startangle: 0, endangle: .pi * 2, theo chiều kim đồng hồ: true)
`` `

Cuối cùng, chúng tôi sẽ đóng đường dẫn bằng cách gọi phương thức `đóng ()`.

`` `
path.close ()
`` `

Bây giờ chúng ta có một đường dẫn, chúng ta có thể vẽ nó lên màn hình bằng phương thức `draw ()`.

`` `
Đặt bối cảnh = UIgraphicsGetCienContext ()!
Path.Stroke (với: .nator, alpha: 1.0)
`` `

## 2. Hoạt hình trái tim

Để làm động trái tim, chúng ta sẽ sử dụng lớp `UiViewPropertyAnimator`.Lớp này cung cấp một cách đơn giản để làm động các thuộc tính của chế độ xem.Chúng tôi sẽ bắt đầu bằng cách tạo đối tượng `UiViewPropertyAnimator` mới và đặt thời lượng của nó thành 1 giây.

`` `
Let Animator = UIViewPropertyAnimator (Thời lượng: 1.0)
`` `

Tiếp theo, chúng tôi sẽ thêm một hình ảnh động vào thuộc tính `Transform` của trái tim.Tài sản này kiểm soát vị trí, xoay và tỷ lệ của trái tim.Chúng ta sẽ sử dụng `animate (withatation: trễ: tùy chọn: hình ảnh động: hoàn thành :)` Phương thức để làm động vị trí của trái tim từ trung tâm của màn hình lên đầu màn hình.

`` `
Animator.AddanImations {
self.HeartView.transform = cgaffinetransform (dịch
}
`` `

Chúng tôi cũng sẽ thêm một hình ảnh động vào quy mô của trái tim.Điều này sẽ làm cho trái tim phát triển lớn hơn và sau đó nhỏ hơn một lần nữa.

`` `
Animator.AddanImations {
self.HeartView.transform = cgaffinetransform (scaleX: 2.0, y: 2.0)
}
`` `

Cuối cùng, chúng tôi sẽ gọi phương thức `start ()` để bắt đầu hoạt hình.

`` `
Animator.start ()
`` `

## 3. Mã hoàn chỉnh

Đây là mã hoàn chỉnh cho hướng dẫn:

`` `
nhập uikit

class ViewControll: UiViewControll {

@Iboutlet Var HeartView yếu: UIView!

Ghi đè func viewDidload () {
Super.ViewDidload ()

// Vẽ trái tim

Let Path = Uibezierpath ()
path.lineWidth = 5.0
path.LineCapstyle = .Round
path.lineJoinStyle = .Round
path.strokecolor = uicolor.red

path.move (đến: cgpoint (x: 100, y: 100))
path.Addarc (withcenter: cgpoint (x: 100, y: 100), bán kính: 50, startangle: 0, endangle: .pi * 2, theo chiều kim đồng hồ: true)
path.close ()

HeartView.layer.path = path.cgpath

// làm động trái tim

Let Animator = UIViewPropertyAnimator (Thời lượng: 1.0)

Animator.AddanImations {
self.HeartView.transform = cgaffinetransform (dịch
}

Animator.AddanImations {
self.HeartView.transform = cgaffinetransform (scaleX: 2.0, y: 2.0
=======================================
#iOS #draw #Animation #Heart #Valentine's Day **How to Draw and Animate a Heart on iOS**

Valentine's Day is coming up, and what better way to show your loved one how much you care than by drawing them a heart? In this tutorial, we'll show you how to draw and animate a heart using the UIKit framework in iOS.

## 1. Drawing the Heart

To draw a heart, we'll use the `UIBezierPath` class. This class provides a simple way to create and manipulate vector paths. We'll start by creating a new `UIBezierPath` object and setting its stroke color to red.

```
let path = UIBezierPath()
path.lineWidth = 5.0
path.lineCapStyle = .round
path.lineJoinStyle = .round
path.strokeColor = UIColor.red
```

Next, we'll use the `move()` and `addArc()` methods to draw the heart's shape.

```
path.move(to: CGPoint(x: 100, y: 100))
path.addArc(withCenter: CGPoint(x: 100, y: 100), radius: 50, startAngle: 0, endAngle: .pi * 2, clockwise: true)
```

Finally, we'll close the path by calling the `close()` method.

```
path.close()
```

Now that we have a path, we can draw it to the screen using the `draw()` method.

```
let context = UIGraphicsGetCurrentContext()!
path.stroke(with: .normal, alpha: 1.0)
```

## 2. Animating the Heart

To animate the heart, we'll use the `UIViewPropertyAnimator` class. This class provides a simple way to animate the properties of a view. We'll start by creating a new `UIViewPropertyAnimator` object and setting its duration to 1 second.

```
let animator = UIViewPropertyAnimator(duration: 1.0)
```

Next, we'll add an animation to the heart's `transform` property. This property controls the heart's position, rotation, and scale. We'll use the `animate(withDuration:delay:eek:ptions:animations:completion:)` method to animate the heart's position from the center of the screen to the top of the screen.

```
animator.addAnimations {
self.heartView.transform = CGAffineTransform(translationX: 0, y: self.view.bounds.height)
}
```

We'll also add an animation to the heart's scale. This will make the heart grow larger and then smaller again.

```
animator.addAnimations {
self.heartView.transform = CGAffineTransform(scaleX: 2.0, y: 2.0)
}
```

Finally, we'll call the `start()` method to start the animation.

```
animator.start()
```

## 3. The Complete Code

Here is the complete code for the tutorial:

```
import UIKit

class ViewController: UIViewController {

@IBOutlet weak var heartView: UIView!

override func viewDidLoad() {
super.viewDidLoad()

// Draw the heart

let path = UIBezierPath()
path.lineWidth = 5.0
path.lineCapStyle = .round
path.lineJoinStyle = .round
path.strokeColor = UIColor.red

path.move(to: CGPoint(x: 100, y: 100))
path.addArc(withCenter: CGPoint(x: 100, y: 100), radius: 50, startAngle: 0, endAngle: .pi * 2, clockwise: true)
path.close()

heartView.layer.path = path.cgPath

// Animate the heart

let animator = UIViewPropertyAnimator(duration: 1.0)

animator.addAnimations {
self.heartView.transform = CGAffineTransform(translationX: 0, y: self.view.bounds.height)
}

animator.addAnimations {
self.heartView.transform = CGAffineTransform(scaleX: 2.0, y: 2.0
 
Join ToolsKiemTrieuDoGroup
Back
Top
AdBlock Detected

We get it, advertisements are annoying!

Sure, ad-blocking software does a great job at blocking ads, but it also blocks useful features of our website. For the best site experience please disable your AdBlocker.

I've Disabled AdBlock