2009-10-23 3 views
0

내 응용 프로그램을 통해 원하는 일부 텍스트 편집 기능이있는 ViewController를 만들고 싶습니다. 그래서, 나는 이것을했다.iphone SDK : UIViewController 수퍼 클래스를 만드는 방법을 이해하지 못하셨습니까?

#import <UIKit/UIKit.h> 


@interface superViewController : UIViewController 
      <UITextFieldDelegate>{ 

    //these are instance variables, remember them? 
    CGFloat animatedDistance; 

} 

@end

다음, 나는 곤란을 위해 밖으로 댓글을 달았 (안이 스텁 참조) 구현

#import "superViewController.h" 


@implementation superViewController 

static const CGFloat KEYBOARD_ANIMATION_DURATION = 0.3; 
static const CGFloat MINIMUM_SCROLL_FRACTION = 0.2; 
static const CGFloat MAXIMUM_SCROLL_FRACTION = 0.8; 
static const CGFloat PORTRAIT_KEYBOARD_HEIGHT = 216; 
static const CGFloat LANDSCAPE_KEYBOARD_HEIGHT = 162; 


- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 

// 코드를 추가. 이것 자체로 작동합니다. }

- (void)textFieldDidEndEditing:(UITextField *)textField 
{ 
} 

- (BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
} 

그런 다음 시도해 보았습니다. 그래서 여기에 표시된대로 하위 클래스를 만들었습니다.

@interface salesViewController : superViewController { 

superViewController의 텍스트 편집 기능이 salesViewController에있을 것으로 예상했지만 그렇지 않았습니다. 왜 또는 수정해야할지 모르겠습니다.

미리 감사드립니다.

답변

2

UITextField의 위임을 salesView의 인스턴스로 설정 했습니까?

+0

[field setDelegate : self]; 이렇게했습니다. 고맙습니다. –

1

귀하의 질문에 대한 용어는 다소 혼란 스럽습니다. "super"라고 부르는 "UIViewController"의 하위 클래스를 만들고 있습니다. 이 클래스는 훌륭하지만 UIViewController의 수퍼 클래스는 아니며 하위 클래스입니다.

예,이 하위 클래스의 하위 클래스는 "superViewController"의 모든 메소드와 기능을 상속받습니다. 따라서 표시된 것 중 아주 작은 것이 표시됩니다.

superViewController를 하위 클래스로 만들거나 그 인스턴스를 사용해야합니까?

0

아니요, 하위 클래스가 필요합니다. 나는 다음 코드가 호출 될 것으로 예상했다. 그렇지 않았습니다. 나는 이해하지 못한다. 이 메서드는 마스터 하위 클래스에 있으며이를 상속하여 salesView라고합니다. 이 뷰가로드되고 텍스트 필드를 입력하면이 콘솔 메시지가 표시됩니다. salesView는 마스터 클래스의 모든 메서드를 상속받습니다.

- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 

NSLog(@"Here we are..."); 
} 
관련 문제