일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- collectionview
- Xcode
- Observable
- Protocol
- 리팩토링
- clean architecture
- 스위프트
- SWIFT
- MVVM
- ribs
- uitableview
- 애니메이션
- rxswift
- 리펙터링
- RxCocoa
- tableView
- Human interface guide
- ios
- swiftUI
- 클린 코드
- swift documentation
- Refactoring
- UITextView
- HIG
- 리펙토링
- uiscrollview
- UICollectionView
- Clean Code
- combine
- map
- Today
- Total
목록iOS 실전 (swift) (51)
김종권의 iOS 앱 개발 알아가기
*사이드바의 구현 원리 : 사이드 바로 해당되는 Rear View가 앞에 나와있는 Front VIew밑에 존재, 사이드 바를 부르면 Front View를 오른쪽으로 이동시키면 밑에 있던 Rear View가 등장(눈으로 볼 땐 사이드 바가 나오는 것으로 보임) - 내부적으로 self.view.bringSubviewToFront(View) 이게 호출하여 구현 *SWRevealViewController라이브러리를 이용하여 사이드바 구현(가장 많이 사용하는 방법) 1. 라이브러리 및 기본 세팅 1) 라이브러리 다운 John-Lluch/SWRevealViewController A UIViewController subclass for presenting side view controllers inspired on ..
* 형태 - UIControl을 상속 받아서, 그곳에 UIButton 두 개와, UILabel하나 추가 - (UIControl과 UIView 둘 중 하나를 상속 받아도 가능하지만 UIControl을 상속받으면 해당 객체에서 이벤트 발생하라고 명시해 줄 수 있음 , self.sendActions(for:)이용 UIControl과 UIView클래스의 상속구조 [iOS - UI Custom] 1. UI 커스터마이징의 원리 1. 기본 용어 1) View Hierachy - view들 사이의 계층 관계가 존재 - Superview : 뷰의 계층 구조상 다른 뷰를 포함(가장 뒤에 있는 뷰) - Subview : Superview에 포함된 뷰(가장 앞에 있는 뷰) 2) 뷰의 구성 - Ro.. ios-developme..
*실습 : TabBarContoller를 custom하여, storyboard에서 클래스 지정으로 가져다 쓰기 1. 스토리보드 준비 2. 새로운 클래스 작성 후, storyboard의 Tab Bar Controller와 연결 - 연결 후 tabBar안보이게 설정(isHidden = true) 1 2 3 4 5 6 7 8 9 10 class CSTabBarController: UITabBarController { let csView = UIView() let tabItem01 = UIButton(type: .system) let tabItem02 = UIButton(type: .system) let tabItem03 = UIButton(type: .system) override func viewDidLoa..
- 특정 클래스를 상속받아서(UIButton, UILabel,,,) UI를 구현 - 완성된 커스텀 클래스는 객체를 생성하여 바로 사용 & storyboard에서 클래스 연결하여 사용 *커스텀 클래스에서 중요한 기본내용은 init개념 init개념 [swift] 13. 초기화(init, convenience init, required init, override init) let b = Boo() 원래의 의미는 "let b = Boo.init()" 1. init의 존재 이유 - 모든 저장 프로퍼티들은 초기화 되어야 함, init키워드는 이것을 도와줌 1 2 3 4 5 6 7 8 9 10 11 class Test{ var a:Int! // nil로 초.. ios-development.tistory.com 1. ..
* 텍스트필드영역과 버튼영역 사이에 커스텀 할 수 있음 -> UIViewController타입을 넣을 수 있음 -방법 : alert.setValue(뷰 컨트롤러 객체, forKey:"contentViewController") 1 2 3 4 5 6 7 8 9 // nil 삽입하면 위 공간 사라짐 let alert = UIAlertController(title: nil, message: nil, preferredStyle: .alert) (중략) let vc = UIViewController() vc.view.backgroundColor = .red alert.setValue(vc, forKey: "contentViewController") self.present(alert, animated: false)
1. TabBar Controller : UITabBar와 UITabItem으로 구성 * 탭 바에서의 접근은 모두 Controller통해 접근함 - tabBar : tabBarController.tabBar. (barTintColor) - item : tabBarController.tabBar.items ※ 네비게이션 컨트롤러는 다름 - bar에 접근 : navigationController -> navigationBar - item에 접근 : navigationItem( 종류 : titleView, leftBarButton, rightBarButton) 2. 탭바 커스텀 - storyboard 사용 + 프로그래밍적 접근 1) storyboard준비화면 2) 탭 바 생성 * SceneDelegate.sw..
*Navigation Controller를 프로그래밍 방식으로 구현하기 1. 기본적인 프로그래밍 방식 - ViewController에서, 프로그래밍 스타일로 만든 ResultViewController로 데이터 넘기는 예제 1) 첫 main.storyboard세팅 (오른쪽 화면은 ViewController클래스와 연결) 2) ResultViewController 프로그래밍방식으로 생성 - 주의할점 : 프로그래밍 방식으로 구현시, 루트뷰의 색상은 black이므로 white로 수정해야함 1 2 3 4 5 6 7 8 9 10 11 12 13 // ResultViewController.swift class ResultViewController: UIViewController { var pL: String! var..
* UIKit관련 객체 - TextField, Switch, Stepper, Label * 변수 준비 1 2 3 4 5 6 7 8 9 10 11 class ViewController: UIViewController { var tF: UITextField! var s: UISwitch! var stepper: UIStepper! var l: UILabel! override func viewDidLoad() { // 이곳에 각 속성 정의 } } 1) TextField 1 2 3 4 5 6 7 8 9 tF = UITextField() tF.frame= CGRect(x: 10, y: 50, width: self.view.frame.width, height: 200) tF.font = .systemFont(ofS..