1
私はcocos2d CClayerを使用しています。textFiled shouldChangeCharactersInRange関数が機能しませんでした
私は送信名を使用するためにTextFieldクラスを提出しました。
私はいくつかのブロガーを追跡し、textFiledを表示することができましたが、shouldChangeCharactersInRangeはまったく呼び出しませんでした。
どのようにshouldChangeCharactersInRangeを呼び出しますか? (私はxibを使用しませんでした)
あなたの助けを待っています。
コードです。 (Submit.hで)
@property (nonatomic, retain) UITextField *mTextField;
@property (readonly) NSString *enteredText;
(Submit.mで)
-(id)initWithTitle:(NSString *)title message:(NSString *)message delegate:(id)delegate cancelButtonTitle:(NSString *)cancelButtonTitle okButtonTitle:(NSString *)okButtonTitle{
if(self = [super initWithTitle:title message:message delegate:(id)delegate cancelButtonTitle:(NSString *)cancelButtonTitle otherButtonTitles:(NSString *)okButtonTitle, nil]) {
UITextField *theTextField = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 65.0, 260.0, 25.0)];
[theTextField setBackgroundColor:[UIColor whiteColor]];
[self addSubview:theTextField];
self.mTextField = theTextField;
[theTextField release];
}
return self;
}
- (BOOL)textField: (UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSUInteger newLength = [textField.text length] + [string length] - range.length;
return (newLength > MAXLENGTH) ? NO : YES;
}
(GameLayer.hで)
@property (nonatomic, strong) Submit *submitForm;
(GameLayer.mで)
-(void) submit:(id) sender {
Submit *prompt = [Submit alloc];
prompt = [prompt initWithTitle:@"Post Score" message:@"Enter Your Name\n\n\n" delegate:self cancelButtonTitle:@"Cancel" okButtonTitle:@"Okay"];
CGAffineTransform moveDown = CGAffineTransformMakeTranslation(0,-10);
[prompt setTransform:moveDown];
self.submitForm = prompt;
[submitForm show];
[prompt release];
}