2015년 9월 8일 화요일
Single Line Text Drawing
라벨 컨트롤을 오버라이딩 하여 처리 하는중 "drawAtPoint" 또는 "drawInRect" 함수를 이용하여 텍스트를
출력하여 처리 하는데 지정된 사각 영역에 텍스트를 출려하는중 텍스트가 지정된 영역보다 많을때 자동으로 줄바꿈이
일어났다. 원하는것은 그게 아닌데 ㅡㅡ..
찾아 보던중 싱글 라인을 지정하는 옵션은 없구 텍스트 DrawMode 를 변경 해줘야 하는걸 알았다.
CGContextSetTextDrawingMode(context, kCGTextFillClip);
위와 같이 텍스트를 그리기전에 모드를 변경 해줘야 싱글 라인으로 출력이 가능하다.
뒤에 옵션은 소스를 따라가보면 여러가지 옵션을 볼수 있으므로 원하는 옵션으로 처리를 하면 끝..
라벨:
iPad,
iPhone,
Objective-C,
XCode
2012년 12월 12일 수요일
회전 처리시에 폰이 눕거나 세워질때 이벤트 처리 안하는 방법.
아이폰 코딩시 폰이 눕거나 세워질때에도 이벤트가 발생 하기 때문에 이를 막기 위해서는
아래와 같이 코드를 검사하여 리턴 시키면 된다.
// 폰이 눞거나 세울때에는 처리 안하게 막는다. -by Berdo 2012-12-12
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
if (orientation == UIDeviceOrientationFaceUp || orientation == UIDeviceOrientationFaceDown || orientation == UIDeviceOrientationUnknown)
{
return;
}
아래와 같이 코드를 검사하여 리턴 시키면 된다.
// 폰이 눞거나 세울때에는 처리 안하게 막는다. -by Berdo 2012-12-12
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
if (orientation == UIDeviceOrientationFaceUp || orientation == UIDeviceOrientationFaceDown || orientation == UIDeviceOrientationUnknown)
{
return;
}
2012년 8월 9일 목요일
UINavigationController 기본
UINavigationController를 사용할때 쓸만한 내용을 발견하여 정리해 봅니다.
1. 초기화
UINavigationController의 초기화를 위해서는 보통 가장 루트가 되는 뷰컨트롤러를 지정하게 됩니다.
2. 새로운 뷰로 이동하기/빠져 나오기
새로운뷰로 이동하는것은 다음과 이해하시면 좋을것 같습니다. 네비게이션컨트롤러는 기본적으로 스택(Stack)과 같은 구조로 동작을 하며, 눈에 보이는 뷰는 항상 가장 마지막에 삽입된 객체(뷰)가 됩니다.
그래서인지, 뷰를 삽입하고 빼는 메서드들의 이름이 push/pop으로 시작을 하는군요.
3. 최상위 뷰로 한번에 이동하기
여러개의 뷰를 통해서 들어가 있는 상태라면 다음과 같은 방법으로 한번에 최상위로 빠져나갈 수 있습니다.
4. 모달(Modal)뷰 형식으로 띄우기
네비게이션 컨트롤러를 사용하긴 하지만 페이징의 느낌이 들지 않게 별개의 페이지처럼 띄우고 싶을 경우가 있습니다. 다음의 메서드를 사용하여 상단의 네비게이션바조차 나오지 않는 풀스크린의 뷰를 띄울 수 있습니다.
참고 : http://qstufie.com/blog/bb/2008/10/uinavigationcontroller-how-to/
1. 초기화
UINavigationController의 초기화를 위해서는 보통 가장 루트가 되는 뷰컨트롤러를 지정하게 됩니다.
UIViewController *viewController = [[UIViewController alloc] init]; UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController];
2. 새로운 뷰로 이동하기/빠져 나오기
새로운뷰로 이동하는것은 다음과 이해하시면 좋을것 같습니다. 네비게이션컨트롤러는 기본적으로 스택(Stack)과 같은 구조로 동작을 하며, 눈에 보이는 뷰는 항상 가장 마지막에 삽입된 객체(뷰)가 됩니다.
그래서인지, 뷰를 삽입하고 빼는 메서드들의 이름이 push/pop으로 시작을 하는군요.
// 새로운 뷰 삽입하기 [navController pushViewController:newViewController animated:YES]; // 뷰컨트롤러 안에서 - 자기 자신을 네비게이션 컨트롤러에서 제거 [self.navigationController popViewControllerAnimated:YES]; // 어디서든지 네비게이션 컨트롤러에 접근 가능할 때 [navController popViewControllerAnimated:YES];
3. 최상위 뷰로 한번에 이동하기
여러개의 뷰를 통해서 들어가 있는 상태라면 다음과 같은 방법으로 한번에 최상위로 빠져나갈 수 있습니다.
[self.navigationController popToRootViewControllerAnimated:YES];
4. 모달(Modal)뷰 형식으로 띄우기
네비게이션 컨트롤러를 사용하긴 하지만 페이징의 느낌이 들지 않게 별개의 페이지처럼 띄우고 싶을 경우가 있습니다. 다음의 메서드를 사용하여 상단의 네비게이션바조차 나오지 않는 풀스크린의 뷰를 띄울 수 있습니다.
// 모달 뷰 띄우기 [self.navigationController presentModalViewController:modelViewController animated:YES]; // 모달 뷰 제거 - 모달 뷰 컨트롤러 내부에서 [self dismissModalViewControllerAnimated:YES];
참고 : http://qstufie.com/blog/bb/2008/10/uinavigationcontroller-how-to/
피드 구독하기:
글 (Atom)