본문 바로가기

Application Programming Interface/Cocoa

macOS Application에서 OpenGL 사용 예제 macOS Desktop Application에서 OpenGL 사용 예제 View.h /* MainView.h : View 영역에 발생하는 각종 호출과 이벤트 처리 */ #import #import @interface MainView : NSOpenGLView @end View.m /* MainView.m : 위 클래스의 구현 부분 */ #import "MainView.h" @implementation MainView /* OpenGLView 파생 클래스들은 defaultPixelFormat이 내부적으로 호출된다. Pixel Format을 가져올 때 호출된다. */ + (NSOpenGLPixelFormat *) defaultPixelFormat { static NSOpenGLPixelFormatAttri.. 더보기
UITableView에 CustomTableViewCell 적용하기 UITableView에 CustomTableViewCell 적용하기 - by Tapito 아래와 같이 TableViewCell이 표시되는 모양을 직접 만들어 UITableView에 띄워보도록 하겠습니다. 1. 데이터 구조체 작성하기 먼저 사용자 구조체(여기서는 TapitoBusinessCard)를 작성합니다. 인명부 컨셉으로 간단하게 이름과 직장, 현재 재직 여부만을 저장하는 구조체입니다. Xcode를 열고 프로젝트를 하나 생성한 후 아래와 같이 구조체의 헤더 파일과 구현 파일을 작성합니다. TapitoBusinessCard.h #import @interface TapitoBusinessCard : NSObject // 이름, 직장, 재직 여부를 지정하여 TapitoBusinessCard 클래스 인스턴스.. 더보기
코딩으로 Nib 첫 화면 불러오기 UI 파일을 MyView.xib, 헤더 파일을 MyViewController.h, 컨트롤러 파일을 MyViewController.m이라 할 때, AppDelegate.m에서는 아래와 같이 작성 #import "AppDelegate.h" #import "MyViewController.h" @implementation AppDelegate - (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { MyViewController * myViewController = nil; // 화면의 물리적인 크기만큼 윈도우를 생성하기 self.window = [[UIWindow al.. 더보기
키보드 보이기/숨김에 따른 UITextView 및 UITextField의 가려짐 현상 해결법 키보드 보이기/숨김에 따른 UITextView 및 UITextField의 가려짐 현상 해결법 - by Tapito iOS 어플 제작 시 화면에 나타나는 소프트 키보드에 의해 TextView 또는 TextField의 가려짐 현상에 대한 해결방법입니다. 아래와 같은 화면이 있습니다. 가운데 표시한 부분이 UITextView입니다. 좀 더 과장된 현상을 위해 Lanscape 모드로 보겠습니다. Interface Builder에 View들만 배치하였고 ViewController에는 아직 아무 코드도 추가한 것이 없습니다. 이 화면에서 표시한 UITextView를 클릭합니다. 키보드가 나타나서 원래 편집하고자 했던 UITextView의 텍스트를 가려버립니다. 또한 코드에 아무 작업도 적지 않았으므로 일단 Focu.. 더보기
Today Extension 사용 예제 Today Extension 사용 예제 - by Tapito iOS 8부터 새로 도입된 Today Extension을 구현하는 예제입니다. 1. 프로젝트 및 어플리케이션 확장 생성 Xcode를 열고 새 프로젝트를 생성합니다. 여기에서는 [iOS] - [Application] - [Single View Application]을 선택하고 Next를 누르겠습니다. 앱의 이름을 지정하고 Next를 누르면 빈 화면의 iOS 어플리케이션 프로젝트가 생성됩니다. Today Extension은 본래의 앱과 따로 작동되는 또 하나의 작은 앱입니다. 이 프로젝트에서 Today Extension을 추가하기 위해 [File] - [New] - [Target...]을 클릭합니다. [iOS] - [Application Exten.. 더보기
Xcode Interface Builder를 사용하여 사용자 정의 컨트롤 만들기 Interface Builder를 사용하여 사용자 정의 컨트롤 만들기 - by Tapito Visual Studio에서 C#, Basic, C++/CLI 등의 닷넷 언어로 어플리케이션을 작성할 때는 Panel에 원하는 컨트롤 들을 배치하여 사용자 정의 컨트롤 클래스를 만들 수 있습니다. Xcode에서도 이와 유사하게 각종 View 들을 배치하여 사용자 정의 View를 만들수 있습니다. 1. 프로젝트 생성 편의상 iPhone용 앱을 만드는 프로젝트를 기준으로 합니다. OS X용 프로그램 개발 프로젝트에서도 동일한 과정이 적용됩니다. 아래와 같이 Single View Application 프로젝트를 하나 생성하도록 하겠습니다. (Xcode 6.1.1 기준) 2. 사용자 정의 컨트롤을 작성할 레이아웃 파일 생.. 더보기
[코코아 터치] 숫자를 다루는 3 컨트롤 UISwitch : 2개의 값 (Yes/No, 0/1) 중 하나를 선택할 때 사용하는 컨트롤 UISegmentedControl : 미리 정해진 n개의 값 중 하나를 선택할 때 사용하는 컨트롤 UISlide : 0부터 1 사이 중 무수히 많은 실수 중 하나를 선택할 때 사용하는 컨트롤 UISwitch 이벤트 처리 예 @synthesize uiSwitch; @synthesize uiLabel; @implement Test03 // ... 생략 ... - (IBAction) UISwitch_ValueChanged : (UISwitch *) sender // UISwitch의 선택 값이 변경될 때마다 ValueChanged 이벤트가 발생되고, sender로는 터치된 컨트롤이 넘어온다. { if([sender i.. 더보기