0

デバイスでサブクラス化された UITextfield にテキストを入力しようとすると、2 つまたは 3 つの文字が入力され、アプリがフリーズします。キーボードを閉じたり、タブに触れたりすることはできません。UITextField サブクラスは次のとおりです。

@implementation OAI_TextField

@synthesize elementID;

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {

        colorManager = [[OAI_ColorManager alloc] init];
        fileManager = [[OAI_FileManager alloc] init];

        self.font = [UIFont fontWithName:@"Helvetica" size:20.0];
        self.textColor = [colorManager setColor:66.0 :66.0 :66.0];
        self.borderStyle = UITextBorderStyleRoundedRect;
        self.backgroundColor = [UIColor whiteColor];
        self.returnKeyType = UIReturnKeyDone;
        self.delegate = self;

    }
    return self;
}

#pragma mark Text Field Delegate Methods
- (BOOL)textFieldShouldReturn:(UITextField *)textField {

    [self resignFirstResponder];

    //if project number text field we're going to check and see if the "Project" directory contains the file, if not we'll create it

    //get super view
    UIView* myParent = self.superview;

    //get the subviews
    NSArray* mySiblings = myParent.subviews;

    //get the label
    UILabel* myLabel = [mySiblings objectAtIndex:0];

    //get the label text
    NSString* myLabelText = myLabel.text;

    //check it!
    if ([myLabelText isEqualToString:@"Project Number:"]) {

        NSString* projectNumberPlist = [NSString stringWithFormat:@"%@.plist", self.text];
        NSString* projectNumberPlistPath = [NSString stringWithFormat:@"Projects/%@", projectNumberPlist];

        [fileManager createFile:projectNumberPlist:projectNumberPlistPath];


    }

    return YES;
}

- (void)textFieldDidBeginEditing:(UITextField *)textField {
    NSLog(@"ok");
}





/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
    // Drawing code
}
*/

@end

(void)textFieldDidBeginEditing: で NSLog 呼び出しを取得します。コンソールにエラー メッセージは表示されません。これをデバッグする場所がよくわかりません。誰かが私にナッジを与えることができますか?

ありがとう

4

0 に答える 0