[Swift] 빠밤만화 어플을 만들어 봤어요.
15896 단어 Swift
[Swift] 파라파라 만화풍의 앱을 만들어 보세요!
목표
storyboard와viewController를 처리하여 그림의 화면 이동을 설정할 수 있는 프로그램 제작!
공사.
1. 프로젝트 제작
Device Orientation에서 portrait를 제거하십시오.
2.storyboard를 통해 판식 제작
처음에는 세로로 설정되었으므로 가로 정렬 설정으로 변경됩니다.
오른쪽 아래에 표시된 Image View를 끌어 놓습니다.
오른쪽 아래 모서리의 마커를 클릭하여 수평 및 수직 값을 0으로 설정합니다.
위아래 좌우 너비의 값을 0으로 설정하십시오.
3. 이미지 파일 구성
Assets.xcassets라는 폴더 설정 그림을 열어 주십시오.
먼저 화면 오른쪽 상단에 있는 표시를 클릭하세요.화면이 두 개로 나뉘다.
그런 다음 storyboard의 Image View를 마우스 오른쪽 버튼으로 클릭합니다.
New Referenting Outlet 옆에 있는 원을 사진 위치로 드래그하십시오.
Name을 image View로 사용하여 Connect 버튼을 누르면 다음 코드가 추가됩니다.
ViewController.swift
@IBOutlet weak var imageView: UIImageView!
4. UIPageViewController의 제작
페이지ViewController는viewController를 관리하는 이미지입니다.
자세한 내용은 뒤에 설명되며, 펼치려는 그림의 양만 생성됩니다.
새 파일을 만들고 하위 클래스를 선택하고 클래스 이름을 지정하십시오.
오른쪽 위 모서리의 마커를 클릭하고 PageViewController를 클래스로 선택합니다.
5.viewController의 생성
import UIKit
class PageViewController: UIPageViewController {
//ページ番号
var viewControllerIndex : Int = 0
//画像の名前を格納
let imageNames: [String] = ["kronosくん1", "kronosくん2", "kronosくん3", "kronosくん4","kronosくん5","kronosくん6"]
//viewControllerを格納
var targetViewControllers : [UIViewController] = []
override func viewDidLoad() {
super.viewDidLoad()
// 表示用ViewControllerを生成(ここで画像分のviewControllerを生成)
for i in 0..<imageNames.count {
let viewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "vc") as! ViewController
//viewControllerを追加
targetViewControllers.append(viewController)
}
// Do any additional setup after loading the view.
self.setViewControllers([targetViewControllers[0]], direction: .forward, animated: true, completion: nil)
//自身を格納
self.dataSource = self
}
6. 이미지 뷰에서 이미지 설정
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
private var imageName: String?
override func viewDidLoad() {
super.viewDidLoad()
imageView.image = UIImage(named:"kronosくん1")
guard let imageName = imageName else {
return
}
imageView.image = UIImage(named: imageName)
}
//画像を設定する処理
func setImageName(_ imageName: String) {
self.imageName = imageName
if let _ = imageView {
imageView.image = UIImage(named: imageName)
}
}
for i in 0..<imageNames.count {
let viewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "vc") as! ViewController
// ここで画像を設定
viewController.setImageName(imageNames[i])
targetViewController.append(viewController)
}
7. 페이지 마이그레이션 작업
extension PageViewController : UIPageViewControllerDataSource {
func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {
//左にスワイプ
if viewControllerIndex == targetViewControllers.count - 1 {
return nil
} else {
viewControllerIndex = viewControllerIndex + 1
}
return targetViewControllers[viewControllerIndex]
}
func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {
//右にスワイプ
if viewControllerIndex == 0 {
return nil
} else {
viewControllerIndex = viewControllerIndex - 1
}
return targetViewControllers[viewControllerIndex]
}
}
8.완성!
여정은 이만 마치겠습니다!실행해 본다면.
표정이 변하는 파라파라 만화풍 앱이 완성되었습니다!!
Reference
이 문제에 관하여([Swift] 빠밤만화 어플을 만들어 봤어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tjmrn/items/eac6ccb2d3ec3487cb20텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)