분류 전체보기
-
[ios - Swift] UIView.Xib 사용하기ios 2020. 11. 24. 23:00
지난 글에서는 UITableViewCell을 Xib 파일로 생성해 사용하는 것을 배웠습니다. 이번 글에서는 UIView를 Xib로 만들어서 사용할 수 있도록 해보겠습니다. 1. 파일 생성 Swift 파일을 생성합니다. 그런데 UITableViewCell을 만들 때와 다르게 Xib File을 생성할 수 없어서 Xib 파일 또한 생성해 줘야 합니다. View를 선택 후 알아보기 쉽게 Swift 파일과 동일한 이름으로 생성합니다. 2. Xib 구성 View.xib 파일을 열어보면 위 이미지와 같은 것을 확인할 수 있는데 이제 화면을 꾸며보도록 하겠습니다. View를 선택 후 Attributes inspector -> Size -> Freeform으로 선택 후 원하는 사이즈로 변경 후 인터페이스를 추가해 줍니다..
-
[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] UITableView Section DataSource 알아 보기ios 2020. 11. 19. 12:00
이번엔 UITableView Section에 대해 알아보겠습니다. 우선 Section 은 아래의 이미지처럼 관련된 로우를 구분 지어 구역으로 나누는 것으로 생각하시면 될 것 같습니다. 이제 UITableViewDataSource의 Section 관련 함수들을 하나씩 살펴보겠습니다. 1. NumberOfSections 테이블에서 보일 섹션의 수를 반환합니다. func numberOfSections(in tableView: UITableView) -> Int { return 4 } return 값을 4로 설정하니 타이틀 없이 Section이 생긴 것을 확인할 수 있습니다. 그럼 이제 Section의 타이틀을 추가해보도록 하겠습니다. 2. titleForHeaderInSection, titleForFooter..
-
[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..