일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- TableView
- modal
- library
- Apple
- Android
- button
- 개발
- Storyboard
- PyQt5
- Chart
- UITableView
- ios
- cocoapods
- Swift
- PyQt
- charts
- 그래프
- Xcode
- kotlin
- Chrats
- ui
- androidstudio
- UIKit
- UIButton
- 개발자
- Python
- alamofire
- 라이브러리
- graph
- 어플리케이션
- Today
- Total
목록Swift (55)
Jiwift
[iOS/Swift] Charts 그래프 라이브러리 커스텀 마커 | Highlight Selected Value With a Custom Marker | 선택 값 출력 꾸미기 오늘은 Custom Marker를 만들어보도록 하겠습니다. 선택하면 나오는 Value를 좀 더 Custom 해서 보여줄 수 있습니다. 시작하기 전에 필요한 구성부터 확인하겠습니다. 기본적으로 차트가 보이는 ViewController와 CustomMarker를 그리는 View와 Class가 필요합니다. 처음에는 기본적으로 우리가 평소에 하던 방법으로 Chart를 그려줍니다. 다음은 CustomMarkerView Class 생성입니다. // // CustomMarkerView.swift // ChartsLibTest // // Crea..
[iOS/Swift] Charts 그래프 라이브러리 둥글게 라운드 처리 | 막대 그래프 코너, corner radius 01 - 기본 적용 — Jiwift (tistory.com) 앞에 글에서 막대 그래프 모서리를 둥글게 적용했지만 하이라이트 상태에서는 설정이 적용되지 않는 문제가 있었습니다. 이 글을 따라하면 쉽게 적용할 수 있습니다. 선택 기능을 제공하지 않는 어플리케이션은 적용하지 않아도 괜찮습니다. 해당 글은 Charts 라이브러리 4.1.0 버전을 기준으로 작성되었습니다. 3.x.x 후반 버전에서 적용한 위치가 다르기 때문에 다시 작성하였습니다. 시간이 흘러 본 게시글과 내용이 다를 수 있습니다. 라이브러리를 수정하는 방법으로 적용합니다. pods에서 BarChartRenderer를 찾아갑니다...
막대그래프 모서리를 둥글게 처리하는 방법을 소개합니다. 해당 글은 Charts 라이브러리 4.1.0 버전을 기준으로 작성되었습니다. 3.x.x 후반 버전에서 적용한 위치가 다르기 때문에 다시 작성하였습니다. 시간이 흘러 본 게시글과 내용이 다를 수 있습니다. 라이브러리를 수정하는 방법으로 적용합니다. pods에서 BarChartRenderer를 찾아갑니다. 382줄에서 'context.fill(barRect)'를 주석처리합니다. let bezierPath = UIBezierPath(roundedRect: barRect, cornerRadius:3.2) context.addPath(bezierPath.cgPath) context.drawPath(using: .fill) 주석하고 위 코드를 입력하면 적용 완..
// 선 색 barChartdataSet.barBorderColor = .red 위 메서드를 적용하고 싶은 막대 그래프 데이터 셋에 적용 SwiftExample/BarChartViewController.swift at main · wlxo0401/SwiftExample (github.com) GitHub - wlxo0401/SwiftExample: My study, record and share My study, record and share. Contribute to wlxo0401/SwiftExample development by creating an account on GitHub. github.com
// 선 두께 barChartdataSet.barBorderWidth = 5 적용하고 싶은 막대 그래프 데이터 셋에 위 메서드를 적용 SwiftExample/BarChartViewController.swift at main · wlxo0401/SwiftExample (github.com) GitHub - wlxo0401/SwiftExample: My study, record and share My study, record and share. Contribute to wlxo0401/SwiftExample development by creating an account on GitHub. github.com
// 라인 Dash 길이 lineChartdataSet.lineDashLengths = [10] 적용을 원하는 라인 그래프 데이터 셋에 위 메서드를 적용해주세요. /// This is the actual dash pattern. /// I.e. [2, 3] will paint [-- -- ] /// [1, 3, 4, 2] will paint [- ---- - ---- ] // 라인 Dash 길이 lineChartdataSet.lineDashLengths = [5, 10, 15] Array 형식을 채워주면 위와 같이 적용됩니다. Array 순서로 선과 공백 길이를 적용 [5, 10, 15]는 [5선, 10공백, 15선] 방식으로 반복 전용 SwiftExample/LineChartViewController...
chartdataSet.drawValuesEnabled = false value를 숨기고 싶은 데이터 세에 위 메서드를 작성해주시면 적용 가능합니다. ex // 데이터 적용하기 func setPieData(pieChartView: PieChartView, pieChartDataEntries: [ChartDataEntry]) { // Entry들을 이용해 Data Set 만들기 let pieChartdataSet = PieChartDataSet(entries: pieChartDataEntries, label: "매출") pieChartdataSet.drawValuesEnabled = false // DataSet을 차트 데이터로 넣기 let pieChartData = PieChartData(dataSet:..
for key in UserDefaults.standard.dictionaryRepresentation().keys { UserDefaults.standard.removeObject(forKey: key.description) } 사용을 원하는 곳에 코드를 작성 SwiftExample/UserDefatults at main · wlxo0401/SwiftExample (github.com) GitHub - wlxo0401/SwiftExample: My study, record and share My study, record and share. Contribute to wlxo0401/SwiftExample development by creating an account on GitHub. github.com
글이 이해가지 않으면 지난 글을 확인해 주세요. [iOS/Swift] Charts 그래프 라이브러리 Line Chart 표시하기, 라인 차트 그리기 — Jiwift (tistory.com) [iOS/Swift] Charts 그래프 라이브러리 Line Chart 표시하기, 라인 차트 그리기 [iOS/Swift] Charts 그래프 라이브러리 Line Chart 표시하기, 라인 차트 그리기 안녕하세요. 오늘은 Line 차트를 그려볼 예정입니다. 지난 Bar 차트 그리기에서 UI 배치하는 방법은 다 했기 때문에 이번 시 jiwift.tistory.com [iOS/Swift] Charts Line Graph 다중 표시하기, 차트 그래프 라이브러리 여러 줄 표시하기 — Jiwift (tistory.com) [iO..
안녕하세요. 오늘은 라디오 버튼을 구현해보도록 하겠습니다. 라디오 버튼은 항목을 선택하는 기능을 제공하는데요. 체크 박스와 다른 점이 있다면 중복으로 선택이 안 되는 것입니다. 다수의 선택지에서 한 가지만 선택할 수 있는 버튼이라고 생각하시면 됩니다. UIKit에서는 따로 RadioButton을 제공하지 않아서 UIButton을 사용해서 기능을 만들어야 합니다. 저는 UIButton 3개를 배치했고 간단하게 StackView로 묶었습니다. StackView Distribution을 Fill Equally로 설정합니다. UIButton의 Tag를 지정해줄 예정입니다. Tag를 통해서 해당 버튼이 어떤 버튼인지 비교할 수 있습니다. 저는 위에서부터 0,1,2로 지정해 주었습니다. Button 3개를 IBOu..
지난 글에서 이어서 작성합니다. 모든 내용을 담지 않기 때문에 지난 글을 확인해 주세요. 지난 글에서 코드를 수정하면서 진행합니다. [iOS/Swift] Charts 그래프 라이브러리 Line Chart 표시하기, 라인 차트 그리기 — Jiwift (tistory.com) [iOS/Swift] Charts 그래프 라이브러리 Line Chart 표시하기, 라인 차트 그리기 [iOS/Swift] Charts 그래프 라이브러리 Line Chart 표시하기, 라인 차트 그리기 안녕하세요. 오늘은 Line 차트를 그려볼 예정입니다. 지난 Bar 차트 그리기에서 UI 배치하는 방법은 다 했기 때문에 이번 시 jiwift.tistory.com var priceDataOne: [Double]! = [100, 345, ..
App Store에서 제공하는 사진에 숫자 입력 (apple.com) 사진에 숫자 입력 정말 극 소수만을 위한 어플리케이션! 사진을 찍고 단순하게 숫자를 입력해야하는 상황이 있나요?? 반복적으로 숫자만 입력하면 괜찮은가요?? 이 어플리케이션은 사진을 불러와서 순서대로 apps.apple.com 이제 어느정도 그럴듯한 모습을 갖춘 상태의 어플리케이션이되었다. 기능은 자동입력, 직접입력 두 가지로 나뉘며 사진의 위치를 9가지 종류로 나눌 수 있다. 처음 어플리케이션을 출시했을 때를 생각해보면 많은 발전을 이루었다. 어떻게 보면 거의 모든 사람이 필요하지 않을 앱이지만 출시를 위해서 만들고 10월부터 지금까지 추가 기능을 붙이며 정이 많이 들었다. 사용자 요구사항을 어느정도 만족하기 때문에 일단 기능 개발..
iOS에서는 기본적으로 지원하는 저장소가 몇 가지 있는데 그중에 가장 사용하기 간편한 UserDefaults를 알아보겠습니다. 간단한 방법으로 앱의 아무 곳에서 불러오고 저장할 수 있습니다. 저장 가능한 데이터로는 일반 유형인 floats, doubles, integers, Boolean values, URLs, String 뿐만 아니라 NSData, NSString, NSNumber, NSDate, NSArra, NSDictionary도 가능합니다. 키와 데이터로 구성되어 사용하기 때문에 설정 값, 신호같은 간단한 데이터를 저장하는 데 사용됩니다. 많은 양의 데이터는 DB를 다루는 친구들을 사용하는 게 좋습니다. 자세한 설명은 아래 Apple 공식 문서를 읽어주세요. UserDefaults | Appl..
코드 vc.modalPresentationStyle = .fullScreen 사용법 Present하는 상황에 'modalPresentationStyle'를 사용해서 전체 화면을 적용한다.
코드 guard let vc = self.storyboard?.instantiateViewController(withIdentifier: "SecondViewController") as? SecondViewController else { return } self.present(vc, animated: true) [iOS/Swift] Push ViewController Code, Navigation Controller, 화면 이동 코드로 — Jiwift (tistory.com) [iOS/Swift] Push ViewController Code, Navigation Controller, 화면 이동 코드로 코드 guard let VCname = self.storyboard?.instantiateViewCont..
코드 guard let VCname = self.storyboard?.instantiateViewController(withIdentifier: "ViewControllerName") as? ViewControllerName else { return } self.navigationController?.pushViewController(VCname, animated: Bool) 사용법 Push를 사용하기 위해서는 ViewController가 Navigation Controller에 있어야 하는 조건이 있어 그 작업을 먼저 해주어야 한다. 코드로도 가능하지만 일단 Storyboard로 정리를 할 예정이다. 원하는 ViewController를 선택하고, [Editor -> Embed in -> Navigati..
위가 원래 UIProgressView 아래가 라이브러리 적용 Smitters/GradientProgress: A gradient progress bar (UIProgressView). (github.com) GitHub - Smitters/GradientProgress: A gradient progress bar (UIProgressView). A gradient progress bar (UIProgressView). Contribute to Smitters/GradientProgress development by creating an account on GitHub. github.com 팟 설치 pod 'GradientProgress' 사용법 사용을 원하는 프로그래스바를 배치. 비교용으로 두 개를 설치..
Swift UIColor Picker (ralfebert.com) Swift UIColor Picker www.ralfebert.com 위에 보이는 값들을 사용해서 Swift에서 사용 가능한 UIColor로 변환해줍니다. 아래 코드 블록은 변환된 결과 예시입니다. 보시는 것과 같이 다양한 방법으로 제공해줍니다. #colorLiteral(red: 1, green: 0.8, blue: 0, alpha: 1) /* #ffcc00 */ UIColor(hue: 0.1333, saturation: 1, brightness: 1, alpha: 1.0) /* #ffcc00 */ UIColor(hue: 48/360, saturation: 100/100, brightness: 100/100, alpha: 1.0) /* #..
오늘은 위와 같이 좌우로 움직이는 CollectionView를 만들어보려고 합니다. 평소에 저는 이 방법을 검색할 때 Horizontal Card View 이런 식으로 찾았습니다. 하지만 어느 날 우리 빛과 같은 종권님 블로그에서 Carousel이라는 단어로 글로 올리신 걸 보고 찾아봤습니다. 왼쪽이 Carousel 결과이고 오른쪽이 horizontal card view입니다. 확실히 검색어에 따라서 원하는 정보량이 달라지긴 하네요. 이렇게 용어를 하나 배웠습니다. 하지만 오늘은 종권님 블로그에 작성된 내용을 이용해서 진행해보려고 합니다. [iOS - swift] 1. 스크롤 영역을 암시해주는 Carousel 구현 방법 (UICollectionView, 수평 스크롤 뷰, paging 구현) (tistor..
iOS Concurrency(동시성) 프로그래밍, 동기 비동기 처리 그리고 GCD/Operation - 디스패치큐와 오퍼레이션큐의 이해 대시보드 - 인프런 | 강의 (inflearn.com) iOS Concurrency(동시성) 프로그래밍, 동기 비동기 처리 그리고 GCD/Operation - 디스패치큐와 오퍼레이션 동시성(Concurrency)프로그래밍 - iOS프로그래밍에서 필요한 동기, 비동기의 개념 및 그를 확장한 GCD 및 Operation에 관한 모든 내용을 다룹니다., - 강의 소개 | 인프런... www.inflearn.com 나는 비동기 처리를 어느 정도 할 수 있다고 생각했다. 가끔 미디엄이나 티스토리에서 보이는 괜찮은 처리법들이 있지만 기존 사용하던 방법이 편하고 내가 작성하는 것보다..
안녕하세요. 이번에는 디자인 변경에 힘을 많이 주었습니다. 애플리케이션 기능을 생각하면 디자인이 뭐가 필요한가.. 싶을 정도로 기능이 없는 상태입니다. 하지만 지인이 디자인이 너무 안 좋다.....라는 말을 많이 해주었고 지인과 같이 일하는 사람들에게 소개를 해도 디자인에서 오는 신뢰감이 많이 떨어질 것 같다고 판단해서 도전하기로 했습니다. 아직은 디자인을 생각하면 '기존 디자인의 사용성', '애플이 원하는 기준' 이런 것만 생각해봤지 전체 컨셉?적인 디자인을 생각하는 것은 너무 어렵더라고요.. 디자이너분들 진짜 리스펙 합니다. 하지만 사용자의 요청이 들어왔고, 제가 생각해봐도 기능을 제공하는 데 있어 신뢰를 주는 것 중 하나는 디자인이라고 생각되어서 변경을 시도해봤습니다. (변경을 시도했으나 맞는 방향..
오늘은 Array로 이루어진 JSON을 보내려고 합니다. 어떻게 생긴 놈이냐 하면 [ { name: 김지태, age: 26, city: Seoul }, { name: 팀쿡, age: 58, city: Designed by Apple in California }, { name: 일론 머스크, age: 18, city: Mars } ] 위와 같이 생긴 데이터입니다. 내가 생각한 데이터 형식이랑 다르지만.. 서버에서 이렇게 전송하라고 했으니 해야지요.. 저는 키와 밸류로 이루어진 데이터만 다루다 보니.. 가끔 새로운 양식이 나오면 당황스럽더라고요 ㅋㅋ struct Person { let name: String let age: Int let city: String } 만약에 저 데이터를 수신받는다고 생각하면 P..
정말 간단하게 한줄로 알아보기. 1. Alamofire 깃 허브 Alamofire/Alamofire: Elegant HTTP Networking in Swift (github.com) GitHub - Alamofire/Alamofire: Elegant HTTP Networking in Swift Elegant HTTP Networking in Swift. Contribute to Alamofire/Alamofire development by creating an account on GitHub. github.com 2. Swift에서 HTTP 통신을 쉽게 사용할 수 있게 만든 라이브러리이다. 깃 허브 레포지토리를 보면 언어가 100% Swift이다. 3. Objective-C를 위한 AFNetworkin..
오늘은 위에 동작하는 모습과 같이 Custom Modal을 만들어 보겠습니다. 개발자마다 만드는 방법이 다양하게 있고 제가 사용하는 방법도 쉽게 만들 수 있는 방법이라 이미 아시겠지만 기록 차원에서 작성합니다. 관련된 검색어로는 custom modal, half modal, modal 등이 있으니 찾아보시면서 원하는 결과를 얻으시면 될 것 같습니다. 처음 이걸 만든 이유는 그때 당시 실력이 없던 저는 남들이 만든 라이브러리를 사용했지만 원하는대로 디자인을 변경하는 부분에서 어려움을 겪었고 half-modal과 같은 방식으로도 구현이 필요해서 연습겸 만들어보자! 라는 생각으로 진행했습니다. 요즘은 UISheetPresentationController | Apple Developer Documentation..
사진에 숫자 입력 - 나만의 어플리케이션 개발 일지 03 — Jiwift (tistory.com) 사진에 숫자 입력 - 나만의 어플리케이션 개발 일지 03 사진에 숫자 입력 - 나만의 어플리케이션 개발 일지 02 — Jiwift (tistory.com) 사진에 숫자 입력 - 나만의 어플리케이션 개발 일지 02 사진에 숫자 입력 - 나만의 어플리케이션 개발 일지 01 — Jiwift (tis jiwift.tistory.com '선택된 사진들' 화면을 새롭게 디자인 기존에 시작 숫자를 입력할 수 있는 부분을 숨기고 버튼으로 변경 새로운 숫자 입력 적용 후 동작 모습 한 화면에 기능을 모두 넣지 않으면서 각 기능 집중도를 높였다고 혼자서 생각 중 현재는 원하는 숫자부터 자동으로 1씩 증가하는 기능만 있어서 각..
[iOS/Swift] Charts 그래프 라이브러리 x축 선, 라벨 없애기 | charts graph xAxis draw Enabled // x축 Grid self.myBarChartView.xAxis.drawGridLinesEnabled = false // x축 라벨 self.myBarChartView.xAxis.drawLabelsEnabled = false // x축 선 self.myBarChartView.xAxis.drawAxisLineEnabled = false 오늘은 X축(xAxis) 선과 라벨을 위 코드를 이용해서 없애겠습니다. 코드만 필요하신 분들은 위 코드를 복사하시면 되고 아래는 간단하게 설명을 하도로 하겠습니다. xAxis.drawGridLinesEnabled X축을 기준으로 세로로 길..
// 데이터 범례 form 모양 self.myBarChartView.legend.form = .square 우리는 위 메서드를 통해서 legend의 form 모양을 수정 가능합니다. 바로 위 빨간색 네모 안 모양을 변경할 수 있는데요. 저는 기본적으로 legend를 없애고 사용해서 신경 쓰지는 않았지만 누군가는 필요할 수 있다고 생각이 들어서 알려드립니다. 아래는 기본적으로 지원하는 shape입니다. public enum Form: Int { /// Avoid drawing a form case none /// Do not draw the a form, but leave space for it case empty /// Use default (default dataset's form to the lege..
[iOS/Swift] Charts 그래프 라이브러리 범례/범주 삭제 | charts graph remove legend 오늘은 chart에서 legend를 삭제하도록 하겠습니다. 이 라이브러리를 사용하면서 많이 어려웠던 것 중 하나는 용어인데요... 그래프를 다룬 적이 없던 저로서는 메서드 이름이 가끔씩 뭐를 뜻하는지 모를 때가 있었습니다. ㅋㅋㅋㅋ 그래서 오늘 삭제할 legend는 범례라고 하는데 용.. (위 사진은 엑셀 장인 마이크로스프트 문서 캡처) 사진을 보시면 바로 이해하실 겁니다. Chart.Legend 속성 (Microsoft.Office.Tools.Excel) | Microsoft Learn Chart.Legend 속성 (Microsoft.Office.Tools.Excel) 차트의 범례를 ..
[iOS/Swift] Charts 그래프 라이브러리 데이터 값없을 때 화면 커스텀 / charts graph no data 우리는 데이터가 없는 상황에서도 어플리케이션이 잘 돌아가야 합니다. 그 상황을 대비해서 어떻게 할 수 있을지 알아보도록 하겠습니다. 여기서는 Charts 라이브러리 기본 기능을 사용할 예정이지만 정답이 아닐 수 있기 때문에 생각을 통해서 어떤 표현이 가능한지 나열해보겠습니다. 1. Charts 라이브러리 기본 기능을 사용한다. 2. Alert를 사용해서 사용자에게 알린다. 3. 그래프가 메인 화면이라면 Alert를 사용해 알리고 화면을 나간다. 4. TableView안에 그래프가 있다면 다른 데이터가 없을 때를 대비한 Cell을 불러와서 보여준다. 위 방법 외에도 다양하게 대처를 할..
[iOS/Swift] CocoaPods 설치부터 라이브러리까지 총 정리 CocoaPods 사용법 모음 CocoaPods - 설치 [iOS/Swift] CocoaPods 설치 / Pod을 사용한 라이브러리 준비, Library, CocoaPods — Jiwift (tistory.com) [iOS/Swift] CocoaPods 설치 / Pod을 사용한 라이브러리 준비, Library, CocoaPods iOS 애플리케이션 개발을 하는 상황에서 라이브러리 설치는 피할 수 없습니다. 많은 능력자들이 만들어준 라이브러리들은 외부에서 받아야 하는 경우가 있는데, 이를 CocoaPods에서 도와줍니다. Coc jiwift.tistory.com CocoaPods - Pod Init [iOS/Swift] CocoaPod..