본문 바로가기

개발/ios15

쿼츠2D로 자유롭게 폰트 크기를 바꿔보자 직접 UIView를 상속해서 자신만의 UI객체를 만들때 쿼츠 2D를 사용한다 이때, 폰트 크기는 어떻게 바꿀수 있을까? NSString를 이용하면 간단하다. class MyView: UIView { var mFontAttrDic: [String: NSObject]! var mFont: UIFont! var mText: NSString! override func drawRect(rect: CGRect) { //문자 출력 mText.drawInRect(CGRectMake(0, 0, 100, 100), withAttributes: mFontAttrDic) } func intiFont() { //NSString 설정 mText = "테스트" //폰트 설정 mFont = UIFont(name: "SeoulNams.. 2016. 12. 19.
역시 스레드는 필수! 아이폰과 안드로이드의 기본 스레드 사용법 비교 개발에 있어서 스레드는 당연 필수다. 그래서 모바일을 대표하는 ios와 android에서의 기본 스레드를 정리해 보겠다. ios와 android는 각각 objective-c와 java를 기반으로 하고 있으니 이 둘의 스레드 사용법을 살펴보면 되겠다. - ios selector에 스레드로 실행될 함수를 지정하고 object에는 함수로 넘어갈 파라미터를 지정한다. start를 호출하면 스레드가 시작된다. NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(backThread:) object:param]; [thread start]; - (void)backThread:(id)param { //여기에 스레드로 실행될 코드 작정 .. 2014. 12. 6.
[아이폰] 간단하고 편리한 난수 발생 함수 만들기 게임에서는 난수가 많이 사용된다. 안드로이드에 이어 아이폰에서 사용할 수 있는 간단한 난수발생 함수를 만들어 보았다 - 아이폰(오브젝티브C) - (int)randomNumber:(int)start :(int)end { //범위의 시작이 끝보다 클경우 또는 같을 경우 if (start > end) return 0; else if (start == end) return start; //시스템에서 난수값을 받아 범위에 맞게 재조정한다 int random = arc4random(); return start + ((random 2014. 6. 22.
쿼츠2D 에서의 문자 출력 Quartz2D 기반에서 기본적인 방법으로 문자를 출력하려 하면 한글이 출력되지 않는다.뿐만 아니라 외부폰트도 적용하기 힘들다. 하지만 다행히 해결책은 있다. CoreText 를 이용하면 되는것이다. 먼저 CoreText framework를 등록하고 CTFrameRef를 만들어 CTFrameDraw()로 출력하면 된다. 나는 아래와 같이 쓰기 편하게 좌표, 정렬, 크기, 색, 폰트를 매개변수로 하는 함수를 만들어 사용하고 있다. #define ALIGN_LEFT 0 #define ALIGN_RIGHT 1 #define ALIGN_TOP 2 #define ALIGN_BOTTOM 3 #define ALIGN_CENTER 4 - (CTFrameRef)getFrameText:(NSString *)text :(C.. 2013. 9. 4.
아이폰용 게임을 만드는 네가지 방법 아이폰용 게임을 만들기 위해서 크게 네가지 방법을 이용할 수 있다... UIKit, 쿼츠2D, OpenGL ES, 게임엔진이 그것이다. UIKit은 사실 게임보다는 일반 어플을 만드는데 사용된다.쉽게 말하면 버튼이나 레이블같은 인터페이스가 제공되어 포토샵을 하듯 화면에 붙여넣고 컨트롤러를 등록하여 사용자반응을 감지하면 된다. 아이폰은 안드로이드에서와는 틀리게 기본적으로 애니메이션효과가 강력하다. 즉 기본적인 하드웨어 가속이 비교적 빨라 복잡하지 않은 게임이라면 UIKit으로도 충분히 게임을 만들수 있다...아이폰게임개발 관련책에는 최대 60fps로 실행되는 게임들을 위한 최고의 선택이라고 되어있다. 쿼츠2D는 ios가 기본적으로 제공해주는 그래픽엔진이다. UIKit도 내부적으로는 쿼츠2D로 되어있다고 한.. 2013. 8. 24.