SWIFT (18) 썸네일형 리스트형 xocde7 localization, 지역화, 현지화 - 2. App Name 자동 변경 앱 이름도 언어 설정에 따라 변경되게 할 수 있다.왼쪽은 기본언어(영어)일 때고 언어를 한국어로 변경하면 오른쪽처럼 자동으로 앱 이름이 변경되도록 할 수 있다. 방법은 아래와 같다. 1. 우선 앞 글을 참고하여 환경 설정을 해준다.2. InfoPlist.strings 파일을 하나 생성한다. 3. 왼쪽 Project Navigator(command+1)에서 InfoPlist.strings 파일을 선택하고 오른쪽 File Inspector(option+command+1)로 가면 Localization 버튼이 있다. 이 버튼을 누르고 한국어를 선택한다. 아래는 최종 모습 4. 그리고 이 파일에 아래와 같이 입력한다./* InfoPlist.strings MathAvengers Created by SeoDongH.. xocde7 localization, 지역화, 현지화 - 1. 환경 설정 및 적용 다음 사이트를 보고 Localization을 진행하고 있다.참고 사이트: https://lingohub.com/frameworks-file-formats/ios-i18n-xcode7/https://www.raywenderlich.com/64401/internationalization-tutorial-for-ios-2014 아래 위치에서 Localization 항목에 korean을 추가한다. 그리고 Main.Stroyboard를 선택하고 오른쪽 File Inspector(종이 모양 아이콘, option+command+1)에 가면 Localization에 Base, english, korean을 볼 수 있다. 아래 그림처럼 모두 체크해주자.그럼 왼쪽 Project Navigator의 Main.Storyboa.. imageView를 버튼처럼 사용하기 ImageView를 버튼처럼..버그없는 최종 소스는 이것이다. 이 소스의 특징은 CollectionViewCell 안에 있는 imageView에서 제스쳐를 인식하고 CollectionView에서 해당 제스쳐를 처리하도록 한 것이다.CollectionView Class에서 아래와 같이 UITapGestureRecognizer를 target:self로 생성하고 이 제스쳐를 cell.imageView에 추가하는 것이 핵심이다. cell.imageView.userInteractionEnabled = true let nextTap = UITapGestureRecognizer(target: self, action: #selector(handleNextTap)) cell.imageView.addGestureRecog.. find a correct frame of a each UICollectionViewCell 2016.7.6 업데이트:아래 내용은 실제 화면상에 보여지는 frame 정보가 아니었다.UICollectionView 상에서 위치하는 frame 정보였다.그러므로 화면 최상단에 위치하고 있더라도 collectionView의 하단에 위치하는 놈이라면 저 아래에 위치한 frame 정보가 반환된다. 아.. 화면 상에 보여지는 실제 위치는 어떻게 구할 수 있을 것인가?!번뜩 떠오르는 아이디어.collectionview.contentOffset 만큼 빼주면 되겠는 걸? 결론: 이것이 바로 실제 위치다!!let collectionViewOffset = self.collectionView.contentOffsetlet activeFieldOrigin = CGPointMake((activeField!.superview.. touchesBegan in UICollectionView 아.. 몇 시간 동안 삽질해서 알아낸 것이 아래 내용이다. UICollectionView에서의 기능touchesBegan : 원래 목적은 TextField를 제외한 화면 아무데나 터치하면 키보드를 dismiss하려고 넣은 메소드이나 UICollectionView에서는 아무리 해도 이 메소드가 호출되지 않는 것을 알게 됨. 대안은 아래 주석과 소스로 설명 대체// 텍스트필드말고 다른 곳 터치하면 키보드를 가리도록 한다. // 고대로부터 전해져 내려오는 얘기로는 UITableView, UICollectionView는 이 메소드가 먹지 않는다고 한다. // 물론 toucheBegan을 Cell에 장착하면 이벤트가 발생한다. 하지만 Cell과 Cell사이를 탭하거나 Section Header를 탭할 때는 역시 .. View animation과 keyboard의 becomeFirstResponder 처리 문제점Self.view 안에 여러 개의 view를 추가하여 마치 카드 넘기는 것처럼 처리를 하였다. view가 추가될 때 마다 왼쪽에서 slide in 하는데, 마침 해당 view에 textfield가 있었다. 그래서 textfield에 becomeFirstResponder()처리를 하였더니 view가 왼쪽에서 들어오는 animation 도중에 keyboard가 튀어올라오는 것이 아닌가? 문제는 키보드가 튀어나오면서 정작 보여져야 하는 textfield를 가리는 것이었다. keyboard 이벤트를 등록하여 별 처리를 다 해보았지만 view animation 때문에 해당 이벤트 처리가 잘 안 되었다. 결국 해결 방법은 animation이 끝나고 나서 키보드가 나오게 하는 방법 밖에는 없다고 생각되었다.So.. A Beginner’s Guide to NSDate in Swift NSDate에 대한 기똥찬 글을 발견. : http://www.appcoda.com/nsdate/ 2015년 10월 글이라 아직 따끈따끈한 글이다. 이 글이 사라질까 두려워 여기에 저장해 놓는다. If I was ever asked what’s one of the most common stuff I do among all projects, then I would have answered that dealing with dates is definitely one of them. Undoubtably, there’s no developer out there who doesn’t really need to “play” with the NSDate class and handle dates in some mann.. NavigationBar의 Hidden / Show 전환 (UPDATE: 5시간 가량의 삽질 후 알게된 내용)이 현상은 Main.Storyboard의 버그라고 생각된다. 상세 원인은 이 글 제일 아래에 작성하였다. 겁나 간단한 개념인데 이게 잘 안 된다. 하고 싶은 것은 View 1 -> 2 -> 3 -> 4가 있는데 View1에서는 NavigationBar가 보이고 View2에서 hidden이 되었다가 3, 4에서는 다시 보여지는 것이다. 1. View1당연히 View1에서는 Navi Bar가 잘 보여진다. 2. View2viewDidLoad() 에서 self.navigationController?.setNavigationBarHidden(false, animated: true)를 주거나 아예 이 문장을 넣지 않은 상태에서viewWillAppear()에서 s.. 이전 1 2 3 다음