Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

25thSoptiOS/YoonDongMin

Repository files navigation

YoonDongMin

FirstWeek

1️⃣ Soptstagram 화면 만들기

  • UI요소 둥글게 만들기
@IBOutlet weak var profileImage: UIImageView!
profileImage.layer.cornerRadius = profileImage.frame.width * 0.5
profileImage.clipsToBounds = true // true로 설정하게 되면 안의 내용들이 잘리게 된다. 즉, View를 기준으로 																				내용들이 나타난다.
profileImage.layer.masksToBounds = false // 위와 똑같은 내용

실행화면

Second Week

1️⃣ Segue이용 데이터 전달

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
 // 다음화면의 identifier을 받아온다
 guard let identifier = segue.destination else { return }
 // identifier에 해당하는 ViewContoller 레퍼런스를 생성한다.
 if identifier == "purple" {
 guard let purple = segue.destination as? PurpleViewController else { return }
 purple.data = "보라색"
 } else {
 guard let green = segue.destination as? GreenViewController else { return }
 green.data = "녹색"
 }
}

실행화면

2️⃣ Segue이용 하지 않고 데이터 전달

guard let controller = self.storyboard?.instantiateViewController(identifier: "Recieve") as? RecieveViewController else { return } // instantiateViewController(identifier:) 메소드로 																						 "Recieve"을 Identifier로 가진 Controller 생성
controller.modalPresentationStyle = .fullScreen
controller.email = textField.text
controller.onOff = renewSwitch.isOn
controller.term = turmSwitch.value
self.present(controller, animated: true, completion: nil) // controller 화면으로 전환

실행화면

3️⃣ AutoLayOut이용 화면 구성

// 옵저버 패턴 활용 TextField 가리는 문제 해결
private func addKeyboardObserver() {
 // UIResponder.keyboardWillShowNotification에 해당하는 이벤트 발생 시 작동
 NotificationCenter.default.addObserver(self, selector: #selector(upKeyboard), name: UIResponder.keyboardWillShowNotification, object: nil)
 // UIResponder.keyboardDidHideNotification에 해당하는 이벤트 발생 시 작동
 NotificationCenter.default.addObserver(self, selector: #selector(downKeyboard), name: UIResponder.keyboardWillHideNotification, object: nil)
}
@objc func upKeyboard() {
 self.view.frame.origin.y = UtilValue.keyboardHeight
}
@objc func downKeyboard() {
 self.view.frame.origin.y = 0
}

실행 화면

4️⃣ Calculator

  • Custom View 만들어서 사용하기
class InputView: UIView {
 // Interface Builder를 이용하여 사용할 때, 호출되는 init
 override init(frame: CGRect) {
 	super.init(frame: frame)
 initailView()
 }
 
 // 코드를 통해 View를 만들 때, 호출되는 init
 required init?(coder aDecoder: NSCoder) {
 super.init(coder: aDecoder)
 initalView()
 }
 
 private func initailView() {
 // inputView 이름을 가진 class를 IB로 load해오는 코드
 guard let view = Bundle.main.loadNibNamed(NibNames.inputView, owner: self, options: nil)?.first as? UIView else { return }
 view.frame = self.bounds
 self.addSubview(view)
	}
}

실행화면

Third Week

1️⃣ ScrollView, CollectionView 활용 Main View 만들기

class MainViewController: UIViewController {
 @IBOutlet weak var bannerCollectionView: UICollectionView!
 
 override func viewDidLoad() {
 bannerCollectionView.dataSource = self 				// Cell의 Data 관련
 bannerCollectionView.delegate = self					// Cell의 크기, 이벤트등
 }
}
extension MainViewController: UICollectionViewDataSource {} //꼭 구현해야하는 기능 구현
extension MainViewController: UICollectionViewDelegate {}

실행화면

Fourth Week

1️⃣ Alamorfire 이용 서버 통신

✅ Login Service

실행화면

✅ Signup Service ( 다음과 같이 Signup 실행 )

screen

실행화면

Five Week

1️⃣ 디자인 합동 세미나

✅ View 구현하기

실행화면

Six Week

1️⃣ 서버 합동 세미나

따릉이 뷰에 맞는 서버 데이터 통신하기

  1. 구현 데이터

    ➡️ Login View 구현해 로그인 및 회원가입 구현

    ➡️ 회원정보 관리 메뉴 클릭 시, 간단한 개인 정보 받아오기

    ➡️ 홈 화면에서 각 따릉이 Index 별로 자전거 수 받아오기

Last Week

1️⃣ SNS 연동 로그인 구현

✅ FaceBook 연동 로그인

  1. 구현

➡️ Facebook 개발자 문서 확인하여 차례대로 따라하기 (카카오톡, 네이버 등)

실행화면

About

윤동민

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

AltStyle によって変換されたページ (->オリジナル) /