목록SWIFT (14)
어흥
문제점: Present Modally나 다른 세그웨이로 화면을 전환했는데 다음 화면이 전체 화면이 아닌 경우(A vc ->B vc) - +버튼을 눌러서 화면을 전환하고자 할 때 다음과 같이 전체 화면으로 표시되지 않는다 [위의 문제로 인해 발생하는 문제] 가정) 아래와 같은 코드가 작성되어있다 - A vc.m에는 viewWillAppear 함수가 구현되어 있다 - B vc.m에는 Save버튼을 눌렀을 때 dismissViewControllerAnimated 코드가 작성되어 있다 //A vc.m -(void)viewWillAppear:(BOOL)animated { NSLog(@"Appeared!!"); [super viewWillAppear:animated]; [self.tableView reloadDat..
1. 사용 목적(개인적인 생각입니다) - 딱딱한 앱에서 벗어나기 위해 - 시각적인 효과를 통한 이목 집중 2. 코드 - 움직일 대상(코드에선 Label)의 Outlet을 미리 선언해야 한다 - view가 Load 되자마자 애니메이션을 수행하기 위해 viewDidLoad() 함수를 Override한다 - view가 나타난 이후 수행될 애니메이션은 viewDidAppear()의 함수를 Override해서 애니메이션을 설정한다 //Outlet 설정 @IBOutlet weak var nameLabelCenterX: NSLayoutConstraint! @IBOutlet weak var bountyLabelCenterX: NSLayoutConstraint! override func viewDidLoad() { su..
1. 정의: 정렬된 데이터 항목들을 관리하고 사용자 지정 가능한 레이아웃을 사용하여 표시하는 개체 2. TableView와 다른점 - 1개의 행(Row)에 여러 데이터를 담을 수 있다 - 셀 이외에도 사용자 지정할 수 있다(Ex. 섹션 배경) 3. 코드 - Import 해야 하는 Class & Protocol들 //Class UIViewController //Protocol UICollectionViewDataSource UICollectionViewDelegate UICollectionViewDelegateFlowLayout - 구현해야 하는 함수 class BountyViewController: UIViewController ,UICollectionViewDataSource,UICollectionVi..
앞선 글: imnotabear.tistory.com/276 [iOS] Custom TableView, Segue ※ 추가적으로 공부가 필요.. [Custom TableView] 1. 임의로 이름, 현상수배금을 ViewController에서 생성하고, 사진을 Assets.xcassets에 넣는다 추가로, ListCell 클래스를 생성하여 객체를 쉽게 저장할 수 있도. imnotabear.tistory.com 앞선 글에 이은 데이터 전달 글입니다 [데이터를 넘겨주는 ViewController] //UITableViewDelegate: 클릭했을 때 반응 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { print("-..
※ 추가적으로 공부가 필요.. [Custom TableView] 1. 임의로 이름, 현상수배금을 ViewController에서 생성하고, 사진을 Assets.xcassets에 넣는다 추가로, ListCell 클래스를 생성하여 객체를 쉽게 저장할 수 있도록 한다. let nameList = ["brook", "chopper", "franky", "luffy", "nami", "robin", "sanji", "zoro"] let bountyList = [33000000, 50, 4400000, 300000000, 16000000, 8000000, 77000000, 12000000] //IBOutlet: Interface Builder Outlet //IBOutlet은 컨트롤러 헤더 파일에 선언한 객체를 인터..
1. TableView란? : Cell들을 표처럼 보여주는 뷰입니다. 2. 기본 사용 함수 //UITableViewDataSource : 생성할 Cell 개수 return func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 5 } //TableView를 cell로 지정하고 반환 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) ..
(아직 공부가 더 필요합니다...) [Property] 1. 정의 : 값을 클래스(class), 구조체(structure), 열거형(enum)와 연결한다 Jim didSet: Jim-->Jay */ 4. 부가 내용(Method Computed Property) - Setter이 필요? -> Computed Property - Setter이 불필요-> 계산이 많이 필요? or DB access나 File IO가 필요? -> Method - Setter이 불필요-> 계산이 많이 필요? or DB access나 File IO가 불필요 -> Computed Property [Method] 1. 정의 : 메소드는 특정 타입과 연관된 함수. 2. 특징 : 클래스, 구조체 그리고 열거형에서 인스턴스 메소드로 정의할 ..
1. 프로토콜이란? : 특정 서비스를 사용할때 진행해야 하는 일 예시) CustomStringConvertible를 사용하기 위해선 description을 반드시 정의해야 한다 //CustomStringConvertible 프로토콜 public protocol CustomStringConvertible{ public var description: String {get}//get: 읽기 속성, set: 쓰기 속성 } 2. 사용 코드 struct Lecture: CustomStringConvertible{ var description: String{ return "Title: \(lectureName), Teacher: \(teacher)" } var lectureName: String var teacher..