2009-10-23 33 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]; 這是做到了。謝謝。 – 2009-10-29 21:40:29

1

你的問題的術語有點混亂。你正在創建一個你稱之爲「超級」的「UIViewController」的子類。這個類可能很好,但它不是UIViewController的超類,它是一個子類。

是的,這個子類的子類將會繼承「superViewController」的所有方法和功能,所以在你顯示的很少的東西里面什麼都沒有,這是不正確的。

你需要子類superViewController或者只是使用它的一個實例嗎?

0

不,我需要它的一個子類。我預計下面的代碼會被調用。不是。我不明白。這個方法在主子類中,我從它繼承了它,並將其稱爲salesView。當這個視圖被加載,並且我們輸入一個文本字段時,我希望顯示這個控制檯消息。我的理解是salesView會繼承master類的所有方法。

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

NSLog(@"Here we are..."); 
} 
相關問題