본문 바로가기

프로그래밍

(203)
[ios] UIButton 코드로 추가하기 iOS8에서 이 코드가 동작하지 않는다고 하여, 테스트차 돌려봤는데 문제없다. 왜 안되는지 .. 1. 버튼 생성 코드// 버튼 생성UIButton* button = [UIButton buttonWithType:UIButtonTypeSystem];// 버튼 크기 및 위치 button.frame = CGRectMake(100, 100, 100, 100);// 버튼 글씨 [button setTitle:@"버튼" forState:UIControlStateNormal];// 버튼을 눌렀을 때 동작하는 함수 추가 [button addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside];// 버튼을 현재화면에 추가..
[ios] UIAlertView rotate, UIAlertController 가지고 있는 아이폰 5s에서는 alertview회전해도 아무 문제 없길래 안심하고 있었더니아이폰6, ios버전 8.1.2 에서 기기 회전하면 alertview가 아래와 같이 깨진다는 이슈가 왔다. 스샷 보기정상 화면기기 회전시 화면 이놈의 애플 8.1.2씩이나 업데이트하고 아직도 문제가 많다. 저거 그냥 UIAlertView다. 특별히 뭘 한게 아니다. 그래서 애플 버그라하고 넘어가려했지만, 고객사는 그렇게 만만하지 않다.바로 해결해 달라고 한다... 그래서 찾아보니 ios8부터는 UIAlertController라는 것을 사용한다고 한다. 따라서 비교 구현 1. 기존 UIAlertView구현- alertView 띄우기// AlertView 생성UIAlertView* alert = [[UIAlertView..
[ios] 버전 가져오기 1. XCode6 NSFoundationVersionNumber 으로 ios 버전을 가져올 수 있다. 선언은 Foundation/NSObjCRuntime.h에 FOUNDATION_EXPORT double NSFoundationVersionNumber;위와 같이 되어 있다. 따라서 이 변수가 NSFoundationVersionNumber_iOS_7_1위와 같이 정의된 버전 넘버와 비교하여 버전 분기 처리를 할 수 있다. ex) if (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_7_1) // ios8 이상인 경우를 체크 2. XCode5 이하 [UIDevice currentDevice] systemVersion] 으로 ios 버전을 가져올 수 있다..
[ios] -ObjC (other linker flag) 최근 고객사로 Library 파일을 전달하는데 당연히 되야할 카테고리 클래스들이 동작하지 않는다는 연락을 받았다. 왜 그런지 고객사측 담당자와 이야기 해보니, other linker flag에 -ObjC를 안넣어서 그렇다고 한다. 샘플프로젝트 자체는 -ObjC 넣어서 배포했으니 넣어달라고 말했지만, 고객사 측에선 이 flag를 넣으면 여러 라이브러리에서 함수 중복 에러가 난다고 거부했다. 그래서 일단 이 flag를 설명하자면 This flag causes the linker to load every object file in the library that defines an Objective-C class or category. While this option will typically result in..
[ios] presetPhoto 고찰 AVCaptureSession에는 다양한 preset이 존재한다. AVCaptureSessionPresetLow​AVCaptureSessionPresetMedium AVCaptureSessionPresetHigh AVCaptureSessionPresetPhoto AVCaptureSessionPresetLow AVCaptureSessionPreset640X480 AVCaptureSessionPreset960X540 AVCaptureSessionPreset1280X720 AVCaptureSessionPreset1920X1080 숫자로 쓰여있는건 확연히 해당 해상도로 셋팅하는거로 알겠는데위의 Low시리즈 들은 기기마다 다른값을 가진다. (default값은 high로 설정되어 있음)최근 프로젝트들에서 200만 ..
[아이폰] 카메라화소 인식기에서 사용하던 카메라 해상도인 1920*1080이 A4사이즈 정도 되니인식이 어렵다는 판정이 나왔다. 따라서 해상도를 300만 화소로 늘리려 봤더니AVCaptureSession preset은 1920X1080밖에 안보이더라.. 따라서 preset을 photo로 맞추기로 했는데, 이 부분이 기기에 따라 달라서 해당 내용 정리 iPhon4, 4s, iPad4 2592 * 1936 iPhone5, 5c, 5s 3264 * 2449 아이폰 4 계열 및 아이패드 4는 약 500만 화소아이폰 5 계열은 800만 화소이다. iphone6랑 6+도 보고 싶지만 다른프로젝트에서 사용하므로 나중에 추가해야겠다.
[Xcode]Xcode6에서 Category 파일 생성 Xcode5같은 경우 아래 그림과 같이 바로 Category 파일을 생성할 수 있다. 하지만 Xcode6의 경우 5와 달리 목록에 바로 보이지 않는다. 따라서 위와 같이 objective-C파일 선택한 후 Category를 선택하면 된다.
[ios] 한 파일에 NSString 여러번 저장하기 예에전에 써둔2015/04/09 - [프로그래밍/iOS] - [ios] 현재시간 가져오기, NSString 파일로 저장 에서 [NSString writeToFile: atomically: encoding: error: ];위 함수는 매번 파일을 덮어쓰기 때문에 여러번 실행할 경우 가장 마지막 문장만 저장된다.그렇게 말고 매번 같은 파일에 이어서 쓰고 싶어서 좀 찾아본 결과 아래와 같이 하면 된다. NSString *timeString = @"메렁";NSString *path = [NSTemporaryDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"result.txt"]]; NSFileManager* fileMgr = [NSF..