ios
-
[ios - Swift] UITableView 무한스크롤 구현하기ios 2020. 11. 22. 17:13
Tableview를 이용하다 보면 row의 수가 적을 경우 문제 되지 않지만 row의 수가 많다 보면 데이터를 불러올 때 부담이 될 수 있습니다. 그렇기 때문에 우리는 사용자가 원할 때 추가로 다음 데이터를 불러오는 작업을 무한 스크롤을 이용해서 처리해 보도록 하겠습니다. 1. Data 준비하기 func HttpData() { print("HTTP 호출 시작 \(cnt)") cnt = cnt + 1 let newsAddress : String = "http://newsapi.org/v2/top-headlines?country=kr&apiKey=75c9a397ffa14b8694f458a03c5342cf" let task = URLSession.shared.dataTask(with: URL(string: n..
-
[ios - Swift] RefreshControl 사용하기ios 2020. 11. 22. 15:49
이번 시간에는 UITableView의 cell을 아래로 드래그 시 데이터를 Refresh 할 수 있도록 해보겠습니다. 1. UIRefreshControl 사용자가 스크롤 가능한 콘텐츠 영역의 상단을 아래로 드래그하면 스크롤 뷰에 새로 고침 컨트롤이 표시되고 진행률 표시기에 애니메이션을 적용하고 앱에 알립니다. let refreshControl = UIRefreshControl() refreshControl.addTarget(self, action: #selector(refreshWork), for: .valueChanged) mTableView.addSubview(refreshControl) RefreshControl을 스크롤이 가능한 인터페이스에 Subview로 등록합니다. selector: value..
-
[ios - Swift] UITableView Swipe Button 만들기ios 2020. 11. 20. 20:00
1. leadingSwipeActionsConfigurationForRowAt, trailingSwipeActionsConfigurationForRowAt leadingSwipeActionsConfigurationForRowAt : 행의 앞 가장자리에서 표시할 스와이프 동작입니다. trailingSwipeActionsConfigurationForRowAt : 행의 끝 가장자리에서 표시할 스와이프 동작입니다. 우리는 위 두 가지의 델리게이트를 이용하도록 하겠습니다. func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? ..
-
[ios - Swift] UITableViewCell을 Xib로 만들기 (UITableView 2/2)ios 2020. 11. 18. 10:50
이전 글에서 TableViewCell 만들어봤습니다. 하지만 매번 TableView를 생성할 때마다 Cell을 만들어주는 건 매우 귀찮은 일입니다. 그렇기 때문에 한번 제작한 UITableViewCell을 재사용 가능하도록 Xib대해 알아보고 파일로 만들어 보도록 하겠습니다. NIB (NeXT Interface Builder) - iOS 및 Mac 앱의 사용자 인터페이스를 저장할 때 사용하는 리소스 파일 - 바이너리 형식 XIB (Xml Interface Builder) - 플랫 파일에 저장 - NIB를 XML 형식으로 변환한 파일로 Nib와는 기능적으로 동일 1. xib file 생성 COCOA Touch Class -> UITableViewCell 이때 Subclass의 Also create XIB ..
-
[ios - Swift] UITableView CustomCell 만들기 (UITableView 1/2)ios 2020. 11. 17. 22:30
1. 스토리보드 화면 구성 우선 UITableView 내 UITableViewCell을 추가하여 아래 이미지와 같은 구조로 제작 후 TableView Row에서 보여주고 싶은 오브젝트를 추가하면 됩니다. 저는 사진, 이름, 상태 메시지를 나타낼 수 있는 Row를 만들기 위해 UIImageview, Lable을 추가했습니다. 이때 Contrains를 잘 맞춰 주셔야 Cell 내부에 있는 오브젝트가 Row안으로 숨지 않습니다. 마지막으로 TableViewCell을 선택 후 Attuributes inspector -> identifier을 확인하면 Reuse identifier라고 적혀있는 것을 확인할 수 있습니다. Reuse identifier은 Tableview에서 Cell을 사용하려 할 때 이전 Cell..
-
[ios - Swift] Swift Timer 사용ios 2020. 11. 16. 22:00
Timer가 정상적으로 작동하는지 확인하기 위해 DateFormatter를 선언 후 Label Text로 확인할 수 있게 했습니다. 데이터 포맷 형식을 변경하려면 아래를 참조하면 됩니다. 2020/11/16 - [스위프트] - Swift 데이터 포맷 형식 scheduledTimer에 사용된 파라미터 값은 다음과 같습니다. timeInterval = 작업을 반복할 시간 (초) target = 어떤 뷰에서 실행할지 정함 selector = 반복 작업할 함수 repeats = 반복 여부 타이머를 해제하려면 invalidate를 사용하면 됩니다. let timer = Timer.scheduledTimer(timeInterval: mInterval, target: self, selector: mTimer, use..
-
[ios - Swift] Scrollview AutoLayout 사용하기ios 2020. 11. 16. 20:00
ScrollView는 사용할 때 AutoLayout이 적용되지 않습니다. 그렇기 때문에 AutoLayout 적용을 위해서 다음과 같은 작업을 진행하도록 하겠습니다. 1. 화면 구성 배경이 될 UIView와 Scroll View를 삽입합니다. UIView는 View Frame, ScrollView는 MainScrollView라고 칭하겠습니다. ViewFrame은 원하는 대로 Constraints를 설정한 후 MainScrollView는 ViewFrame과 가로, 세로를 동일한 크기로 맞춘 후 Constraints(0, 0, 0, 0)으로 설정하면 됩니다. 이때 ScrollView의 Size inspector에서 Content Layout Guides를 체크를 해제해야 합니다. 2. Controller 구현..
-
[ios - Swift] URLSession DataTask 동기처리ios 2020. 11. 14. 18:00
URLSessio Http Requst 처리를 기다렸다가 다음 작업을 해야 할 때가 있는데 비동기 처리방식으로 인해 불편했던 적이 있는데 아래와 같은 방법으로 해결하도록 하겠습니다. URLSession을 사용해 Http 접속을 하는 방법을 모르시는 분은 아래 주소를 참조해 주세요. 2020/11/12 - [스위프트] - Swift URLSession으로 Json 데이터 가져오기 Swift URLSession으로 Json 데이터 가져오기 1. 준비 단계 Json을 받아올 Rest API URL이 필요하기 때문에 환율정보를 받을 수 있는 API 주소를 가져왔다. 아래 사이트에서 환율 정보를 가져올 수 있는 주소를 복사 후 변수에 넣는다. happycgi.com/1649 poky-develop.tistory...