2010년 8월 31일 화요일

[XCode] 컨트롤에 포커스 주는 방법 (focus(), setfocus)

Application의 화면상에 있는 컨트롤에 포커스를 주거나 빼는 방법입니다.
대부분의 언어에서는 focus 라는 단어를 많이 사용하고 있는데,
iPhone 에서는 좀 많이 다르내요.
(좀 과하다는 생각이 들만큼 Apple의 가독성 위주 표기법에 두 손 들었습니다. )

1. 컨트롤에 포커스 주는 방법
[controller becomeFirstResponder];
  • controller는 포커스를 주려고 하는 컨트롤의 이름입니다.
  • “controller가 첫번째 응답자가 된다” 라는 의미입니다. (이건 뭐 소설도 아니고…)

2. 컨트롤에서 포커스 빼는 방법
[controller resignFirstResponder];
  • controller는 포커스를 빼려고 하는 컨트롤의 이름입니다.
  • “controller가 첫번째 응답자에서 물러나다” 라는 의미입니다.

최초응답자 : 화면상에서 가장먼저 응답하는 컨트롤,  Visual Studio 에서보면 TabIndex = 0 인 컨트롤,   결국 제일먼저 응답하니까 포커스를 받는다는 의미입니다.  

[iPhone Design] iPhone 화면 사이즈

iPhone Application 디자인 할때 참고 할 만한 자료입니다.




[XCode] alpha값 사용않하고 배경색 지우는 방법

Interface Builder를(alpha=0) 이용하지 않고, 소스상에서 배경색을 지우는 방법입니다

[UIColor clearColor];


아래의 소스를 이용해서 직접 확인해 보세요

=======================================================================
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptons {

    UILabel *notClearedbackground = [[UILabel alloc] initWithFrame:CGRectMake(20.0f, 100.0f, 280.0f, 50.0f)];
    [notClearedbackground setText:@"I have a background color"];
    [window addSubview:notClearedbackground];
    [notClearedbackground release];

    UILabel *clearedbackground = [[UILabel alloc] initWithFrame:CGRectMake(20.0f, 200.0f, 280.0f, 50.0f)];
    [clearedbackground setText:@"I'm transparent background"];
    [clearedbackground setBackgroundColor:[UIColor clearColor]];
    [window addSubview:clearedbackground];
    [clearedbackground release];

    [window setBackgroundColor:[UIColor grayColor]];
    [window makeKeyAndVisible];
}
=======================================================================