UIActivityIndicatorView 를 이용한 간단한 로딩 뷰 띄우기 (뷰 교체 형식) 1. UIViewController 를 상속받을 ExtensionVC.swift 를 하나 만든다. 2. ExtensionVC.swift 에 extension 하여 아래와 같은 코드를 작성한다. import UIKit class ExtensionVC: UIViewController { override func viewDidLoad() { super.viewDidLoad() } } extension UIViewController { class func displaySpinner(onView: UIView) -> UIView { let spinnerView = UIView.init(frame: onView.bound..
What is UICollectionView ? Apple 개발자 사이트에서 UICollectionView 를 소개하는 이미지 ** 안드로이드의 RecyclerView -> GridLayoutManager How to implement UICollectionView ? Step 1) Create Project 구현을 위해 싱글 뷰 앱 프로젝트를 생성하자. Step 2) add Collection View controller in storyboard Main.storyboard 를 열어 기존에 존재하는 view controller 를 삭제한다.빈 스토리보드에 Navigation Controller 를 추가한다. Navigation Controller 에 기본적으로 달려있는 root view controll..
VersionCodenameAPIDistribution2.3.3 - 2.3.7Gingerbread100.2%4.0.3 - 4.0.4Ice Cream Sandwich150.3%4.1.xJelly Bean161.1%4.2.x171.5%4.3180.4%4.4KitKat197.6%5.0Lollipop213.5%5.12214.4%6.0Marshmallow2321.3%7.0Nougat2418.1%7.12510.1%8.0Oreo2614.0%8.1277.5%2018년 10월 26일까지 7일 동안 수집된 데이터 배포율이 0.1% 이하인 버전은 표시되지 않습니다. 참조 : 안드로이드OS점유율
Story Board 는 UI 와 전체적인 화면 구성을 파악하는데 좋은 구조이지만, 협업 등 소스코드 형상관리에 약간의 문제가 있는 경우가 있다. 필요에 따라 Story Board 없는 프로젝트로 진행하고 싶을 때, 아래와 같이 진행하면 된다. STEP 1) Project 생성 STEP 2) info.plist 수정- info.plist 를 연다.- Main storyboard file based name 항목의 key/value 를 삭제한다. STEP 3) 새로운 View Controller 생성- new file > Cocoa Touch Class > UIViewController > xib 체크 STEP 4) AppDelegate.swift 수정 import UIKit @UIApplicationMa..
에러 내용 Type '' does not conform to protocol '' 원인 / 해결 자바를 했던 사람들이라면 익숙할 만한, implementation 에러다. 어떤 interface 를 implement 했는데, 해당 interface 의 함수를 구현하지 않아서 나는 에러. iOS 에서는 delegate 라고 하는듯. 내가 어떤 Delegate 를 사용하겠다고 특정 class 에 명시했으면, 해당 delegate 에 속해있는 함수도 같이 정의해 주어야 함.
에러 내용 missing return in a function expected to return '[Class]' 원인 함수가 리턴을 하지 않아서 Case 1 if 중첩문을 아래와 같이 작성했을 때 func test() -> String {if 조건return "하하"else if 조건2return "하하2"} 위 경우, 조건 1, 2 에 맞지 않을 경우 리턴 값이 없기 때문에 에러발생 Case 2 반환 값이 다를 경우 func test() -> [String] {return "하하"} 위 경우, 함수는 String array return 을 기대했지만, 걍 String 만 리턴되므로 에러
문제 RecyclerView 를 이용할 때, List 의 스크롤 말고.. List 전체를 스크롤 없이 보여주고 싶을때가 있다.(내가 스크롤뷰안에 리사이클러 뷰를 넣어 따로 구현하는 경우) 이 경우 아래의 Layout 일 것이다. 위 처럼 구현한 후, 내가 기대했던 동작은... RecyclerView 의 높이가 wrap_contents 니까.. RecyclerView 의 아이템들이 채워지는 만큼 길이가 늘어날거고, 모든 아이템들이 화면에 다 노출된 상태일 것이다. 나는 상위 View 인 ScrollView 로 스크롤 할 수 있겠지? 그러나 ScrollView 안에 RecyclerView 도 또 Scroll 을 가져 이중스크롤이 되었다. 왜..??? 왜 ? 왜 일까?(정확하진 않다. 추측일뿐.. Debugg..
문제점 RecyclerView 를 위한 다음과 같은 Adapter 코드가 있다. public class MyAdapter extends RecyclerView.Adapter { // ....private int selectedPosition = -1; @Overridepublic void onBindViewHolder(MyViewHolder holder, int position) {holder.mTxvTest.setText(items.get(position)); if (selectedPosition == position)holder.mTxvTest.setBackgroundColor(Color.RED);elseholder.mTxvTest.setBackgroundColor(Color.TRANSPARENT);..
현상 GridLayoutManager 를 이용한, Recycler View 로 Custom Calendar 를 작성하다가 발생한 문제... 그림을 먼저 보자 그림처럼, 달력을 넘기고, Recycler View 를 달력기준으로 다시 그릴때마다 하단의 간격이 조금씩 넓어졌다. 아래와 같은 사이클이었다. 1. RecyclerViewAdapter 생성 2. Vertical Decorator 설정 3. GridLayout Manager 설정 4. Recycler View 에 setAdapter() 특정 버튼을 누르면 위 사이클이 반복되도록 프로그램을 구성했었다. 그러나, 버튼을 누를때마다 Recycler View 가 다시 그려지면서, 각 행이 점점 벌어짐 옘병 이게 무슨일..? 디버깅 우선, 문제가 뭔지 생각해보..
증상 Failed to instantiate one or more classes 메세지와 함께 xml 에 특정 레이아웃이 표시되지 않는다.(주로 custom view 에서 발생하는 문제) xml preview 에서는 해당 뷰가 나오지 않는데, build 시엔 정상적으로 나온다 검색 해당 문제는 주로 검색해보면, 앱 테마와 관련된 내용이 나온다. 내 (그리고 앱 테마로 해결되지 않는 이 글을 보는 분들의) 경우에는 앱 테마 문제는 아니었다. 원인 IDE (android studio) 에서는 preview 를 보여줄 때 build? 해서 보여주게 되는데.. 이 때 build 과정에서 문제가 있는 것으로 보인다. 주로 custom view class 가 create 되면서 동시에 통신을 한다던가... IDE ..
- Total
- Today
- Yesterday
- 안드로이드
- linux
- C
- node.js
- BBC 가쉽
- Kotlin
- Asterisk
- xcode
- IOS
- 서버
- 스위프트
- 깃헙
- Phaser
- 앵커브리핑
- 뉴스룸
- C언어
- git hub
- Swift
- mysql
- GIT
- nodejs
- 배열
- 노드
- Node
- 손석희
- 점유율
- php
- 리눅스
- Android
- CentOS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |