DirTy™의 하루일과 40

[IOS] 초보자도 할수있는 block코딩 기법.

아이폰 프로그래밍을 접한지도 꽤 시간이 지났다.계속 혼자서 하다보니 아무래도 막코딩이라 나조차 알아보기 어려울 정도로 뒤죽박죽인 경우가 많았다. 또 모르는게 많다보니 화면단에서 데이터를 넘긴다던가 클래스로 만들어놓은 오브젝트에서 다른 클래스로 뭔가 통지하거나 데이터를 날린다거나 하는것에 대해 대단히 무지해서 NSNotification만으로 코딩을 하고있었다. 기회가 되어 nhn next에서 4일동안 강의를 들었는데 여기서 강사님이 초보자도 쉽게 할수 있는 block코딩 기법을 알려주셔서 현재 대단히 유용하게 사용하고있다. 강사님왈... block은 그상태를 스냅샷 한 상태라고 생각하시면 됩니다. 라고했다.근데 진짜 이말이 맞다. block을 걸어놓은 상태에서 block이 실행되면 그상태로 돌아가는... ..

[IOS] background, foreground 타이머돌리기.

아무생각없이 코딩을 하고있다가 문득 백그라운드에서 포어그라운드로 넘어올때 한참의 시간이 지나도 화면이 갱신되지 않는 현상을 발견했다. 안드로이드에서는 기본적으로 제공되고 있는것 같아 아무생각 없이 지나쳤는데 아이폰 쪽에서는 처리해주는 AppDelegate에 메서드가 구현되어있었다. - (void)applicationDidEnterBackground:(UIApplication *)application // 백그라운드 진입시 호출- (void)applicaitonWillEnterForeground:(UIApplication *)application // 포어그라운드 진입시 호출 앱이 백그라운드 상태에서 포어그라운드로 넘어올때 첫화면부터 시작하고싶어 구글링해보니plist에 Application does not..

[IOS] ios8 apns대응

오늘 iOS8로 업데이트 되었다.테스트기기에서 돌려보니 푸시메시지가 안들어온다. 구글링하니 아래와같이 대응해줘야 한단다. 일단 AppDelegate.h에 iOS8 인지 아닌지 define을 걸어놓자!#define IS_iOS_8 [[[UIDevice currentDevice] systemVersion] floatValue] >= 8 그리고 AppDelegate.m의 첫 시작점인- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 에다가 아래와 같은 코드를 추가하자. if (IS_iOS_8) { // ios8 푸시~ [[UIApplication sharedApplic..

[MFC] CWebBrowser2 스크롤바 없애기

스크롤바 없애기를 계속 실패해서 다이얼로그를 하나 더붙혀서 그영역만 보이게 하는 꼼수를 써서 프로그램을 만들었었는데 쉽게 할수있는 방법이 있었다. 코드는 아래와같다... 일단 아래 include!!! #include #include CWebBrowser2 컨트롤을 m_Web 이라고 하고 아래와같은 코드를 void OnDocumentCompleteWeb(LPDISPATCH pDisp, VARIANT FAR* URL) 에 추가하면 된다. HRESULT hr; IHTMLDocument2* m_pHTMLDocument2 = 0; LPDISPATCH lpDispatch = m_Web.GetDocument(); if (lpDispatch) { hr = lpDispatch->QueryInterface(IID_IHTM..

[MFC] 윈도우 프로세스 특권

프로젝트 중에 윈7에서 PC종료를 해야하는 코드를 추가해야하는데 종료 코드를 넣어도 종료가 안되는 상황이 발생... 왜그럴까 하고 검색해보니 아래와 같은 설명.... ------------------------------------------------------------------------------------------- 로컬 컴퓨터에서 보안 정책을 실시하고, 런타임 개체 보호 및 감사를 수행하여 운영체제 리소스들을 보호하는 SRM(Security Reference Monitor)은 프로세스나 스레드의 보안 컨텍스트를 식별하기 위해 엑세스 토큰(access token, 줄여서 토큰)이라는 개체를 사용한다. 보안 컨텍스트는 프로세스 또는 스레드와 관련된 권한, 계정, 그룹 등에 대한 정보들로 구성된..

[IOS] 아이폰 사이즈 가져오기

회사에서 어쩔수 없이 맞게된 ios 앱 개발... 아이폰도 이젠 화면 사이즈가 하나가 아니라서... 화면 사이즈를 알아와야 하는법이 궁금했다... 예제코드는 아래와같다. if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { UIStoryboard *storyBard_; CGSize resut_size = [[UIScreen mainScreen] bounds].size; CGFloat scale = [UIScreen mainScreen].scale; resut_size = CGSizeMake(resut_size.width*scale, resut_size.height*scale); if(resut_size.height == 1136) { NSLog(@"..

[FLEX] object 오른쪽 기준으로 rotate 시키기

플렉스에서 object를 회전시킬때 항상 왼쪽 기준으로 회전이 된다. 오늘 오른쪽 기준으로 회전 시켜야될 object가 있어서 어떻게 해야 할까 보니 matrix라는 3차원 행렬을 써서 시점을 오른쪽으로 변경한 후 처리하면 가능하였다. 아래는 예제 코드이다... static public function BtnRotation(targetImg:DisplayObject):void { var cx:Number = targetImg.width; var cy:Number = 0; var m:Matrix = targetImg.transform.matrix; var rotation:Number = rotationValue - targetImg.rotation ; var p:Point = m.transformPoint..