iOS
-
UIAlertViewController 에서 여러 줄의 인풋(UITextView) 을 받는 방법이 없을까?iOS 2018. 10. 12. 14:38
기본적으로 인풋을 받을 때는, UIAlertViewController에 UITextField 사용합니다. 그런데 개발 스펙에 따라 인풋에 엔터가 포함될 때가 있는데, 이럴 때는 문제가 발생합니다. 기본적으로 UITextField는 라인 하나일 때만 사용하고, UITextView는 글줄일 때 사용하는 인풋입니다. 그런데 UIAlertViewController 는 textField만 추가할 수 있고, textView를 추가하는 메소드가 없습니다. 따라서 해당 방식으로 구현하기 위해서는 어떤 방식이든 커스터마이제이션이 필요하죠. 해당 부분을 커스터마이징하는 코드는 다음과 같습니다.https://qiita.com/star__hoshi/items/ea4712aeb7bf503abac2 // textView を表示す..
-
텍스트 리더가 앱스토어에 출시되었습니다.iOS 2018. 10. 3. 20:56
https://itunes.apple.com/us/app/%ED%85%8D%EC%8A%A4%ED%8A%B8-%EB%A6%AC%EB%8D%94/id1437719953?l=ko&ls=1&mt=8 여러 곳에 설치수좀 늘려달라고 (?) 구걸(?) 했는데..한국에서 다운로드 수가 5개네요.. 흨흨.. 사실 돌아보면서 느낀 결과 대부분의 아시는 분들이 갤럭시를 사용하시드라구요.. 뭐 아무튼... 여러 분의 의견을 들어본 결과(?) - 검정, 흰색 말고 미색 테마가 추가되면 좋겠다- 글자 자간 커스터마이징.- 용량 줄이기 정도가 있었네요.. 그리고 제가 구현하려다가 일단 런칭하고 업뎃하자 한 게,- 영어, 일어 지원 > 영어는 뭐 당연한거고... 일어는 제가 일어 웹소설 볼 때가 가끔 있어서, 필요할 것 같을 거 같..
-
UITableView를 스냅킷으로 구현하면서 생겼던 이슈iOS 2018. 9. 30. 22:55
기본적으로 UITableView의 디폴트 셀의 크기는 44입니다. 아이패드든 아이폰이든 어느 기종이든지 그건 바뀌지가 않습니다. 따라서, 테이블뷰 셀을 짜면 어느 기종이라도 픽셀수와 보이는 모양새가 똑같아야 하는 게 정상입니다. 이를 기반으로 커스텀 셀을 작성하는데, 묘하게 자꾸 기종마다 만드는 모양새가 달라지는 것을 발견했습니다. 같은 아이폰 6s 시뮬레이터 사진입니다. 하나는 OS 12이고, 하나는 OS 9입니다. 같은 모양이 안 나오죠. 여기에 아이패드는 여백도 이상하게 나옵니다. 조사해본 결과...iOS 10? 부터 테이블뷰가 셀의 크기를 자발적으로 계산해서.. 하이트를 추론(?)한다는 사실을 알았습니다.저는 당연히 44 하이트 고정을 생각해서 스냅킷 컨스트레인트를 느슨하게 주었고,.. 그 결과 ..
-
텍본리더 개발 이슈 - 로딩바의 출력에 rxSwift를 도입iOS 2018. 9. 30. 22:28
텍스트 뷰어를 로딩할 때, NSAttributedString을 적절히 페이지 크기만큼 분할해 [NSRange] 형태로 내뱉는 연산을 하는 과정이 있었습니다. 이런 식으로 텍스트를 분할하는 것인데.. 이 과정에 시간이 많이 소모되어 로딩바를 보여줄 필요가 있었습니다.지금 개발상황에서는 2MB 기준으로 완전히 로딩하는 데 시간이 1분정도 걸립니다... 따라서 퍼센트로 표현해주는 로딩바가 필요했습니다. 대충 이런 느낌의 로딩바이죠. 처음에는 페이지 한장 한장씩 렌더링할 때마다 로딩프로세스를 업데이트하는 방식을 사용했습니다만,이 경우 너무 많이 유아이를 업데이트하는 문제가 있었습니다. 로딩바 자체가 기다리는 작업이 만흥ㄹ 때 필요한 것인데..로딩바의 업데이트가 자원을 많이 소모하는 것은 말이 안되는 문제였죠...
-
iOS 텍스트 뷰어 개발을 끝내고 검수를 넣으며iOS 2018. 9. 30. 21:53
아이폰 / 아이패드용 텍스트 뷰어의 개발...을 완료해서, 오늘 아침에 검수를 신청했습니다. 앱스토어의 악명높은 리뷰어(?)의 검수가 통과되면 출시가 될 것 같습니다. 포트폴리오 용 간단한 앱으로 무엇을 출시하는 것이 좋을까 생각하던 참에 텍스트 뷰어의 개발 및 출시를 결정하게 된 이유로는 몇 가지 요소가 작용했습니다. 서버가 붙어 있는 앱을 출시하려면 지속적으로 서버 요금이 발생할텐데, 계속 유지보수할 입장에서 서버비의 적자도 생각할 필요가 있었습니다. 뭐 광고로 충당하기엔 애드몹의 바닷물같이 짜디짠 수익을 이미 여러 경로(?)로 파악하고 있어서, 솔직히 현실성이 많이 없었구요. APNS 하나 송신하는데도 서버가 필요한데, 논서버로 할 수 있는 간단한 지속가능한 앱이 무엇일까..?하고 나온 게 텍본 뷰..
-
iOS 12 동작 변경사항iOS 2018. 9. 20. 18:10
iOS 12가 출시되었습니다. WWDC 2018과릴리즈 노트에서 대응해야 하는 사항을 정리했습니다. https://developer.apple.com/documentation/ios_release_notes/ios_12_release_notes/foundation_release_notes UserDefaults - synchronize() 를 사용할 필요가 없어집니다. UIWebview- 공식적으로 deprecated됩니다. WKWebview로 바꿔야 할 때가 왔습니다. (옛날 앱들 마이그레이션 하기 복잡해질 것 같습니다.) ENFORCEMENT OF APP TRANSPORT SECURITYApp Transport Security Settings 에서 Allow Arbitrary Loads in Web ..
-
iOS 텍스트가 비었으면 확인 버튼 비활성하는 UIAlertController 생성iOS 2018. 9. 2. 09:32
텍스트가 비었으면 확인 버튼이 비활성화되는 텍스트뷰는 자주 사용되기에 UIAlertViewController을 상속해 생성하려고 했지만,해당 클래스가 상속을 지원하지 않기에, 익스텐션을 활용한 형태로 생성했습니다. extension UIViewController { func showInputDialog(title : String? = nil, message : String? = nil,placeholder : String? = nil , defaultText : String? = nil, confirm : ((String?)->Void)? = nil ) { //Creating UIAlertController and //Setting title and message for the alert dialog l..
-
주니어 / 미들 / 시니어 레벨 iOS 개발자를 구분하는 기술 일람iOS 2018. 8. 19. 00:25
https://github.com/BohdanOrlov/ios-skills-matrix에서 소개한 스킬 메트릭스입니다. 하나씩 중급 iOS 개발자가 소유할 만한 기술을 스터디해야 될 듯 싶습니다. 그나저나 '클라이언트- 서버 프로토콜'의 시니어에 해당하는 '비디오 채팅이 달성 가능할만한 역경이다'는도저히 어떻게 구현할 지 상상도 안 가네요.. ㅎ 그나저나 대부분의 미들의 기술 일람이 swift 언어 문법에 관련된 것이 많네요.swift를 다시 공부할 필요성을 느낍니다.