2012-05-04 41 views
0

私はUIToolbarコントロールを作成しました。setInputAccessoryViewを1つのUITextFieldコントロールに追加しました。うまくいきます。この問題にUITextField.Upをタップすると、有料道路がuikeyboardで表示されます。UIToolbarが隠れている

私は1つのボタンを置くと、それをタップすると、キーボードを隠して、ツールバーを表示したいだけです。

これは起こっていません。ツールバーが非表示になっています。

私に教えてください、どのような問題/理由コードです。

お時間をいただきありがとうございます。

- (void)viewDidLoad { 

[super viewDidLoad]; 

     // 
     myToolbar = [[UIToolbar alloc] init]; 
     [myToolbar sizeToFit]; 
     myToolbar.frame = CGRectMake(0,198, 320, 35); 
     myToolbar.barStyle = UIBarStyleBlackTranslucent; 
     [self.view addSubview:myToolbar]; 


     UIImage *image = [UIImage imageNamed:@"orangebuttonsmall.png"]; 
     UIButton *aButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
     aButton.frame = CGRectMake(0, 100, image.size.width, 25);  
     aButton.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; 
     [aButton setTitle:@"Tap" forState:UIControlStateNormal]; 
     [aButton setBackgroundImage: image forState:UIControlStateNormal]; 
     [aButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 
     aButton.titleLabel.font = [UIFont boldSystemFontOfSize:10]; 
     [aButton addTarget:self action:@selector(aCenterBtnClicked:) forControlEvents:UIControlEventTouchUpInside]; 
     [self.view addSubview:aButton]; 


     myToField = [[UITextField alloc] init]; 
     myToField.frame = CGRectMake(0, 0, 320, 48); 
     myToField.textColor = [UIColor blackColor]; //text color 
     myToField.font = [UIFont systemFontOfSize:17.0]; //font size 
     myToField.placeholder = @"To:"; //place holder 
     myToField.backgroundColor = [UIColor whiteColor]; //background color 
     myToField.autocorrectionType = UITextAutocorrectionTypeNo; // no auto correction support 
     myToField.keyboardType = UIKeyboardTypePhonePad; // type of the keyboard 
     myToField.returnKeyType = UIReturnKeyDone; // type of the return key 
     myToField.clearButtonMode = UITextFieldViewModeWhileEditing; 
     [myToField setInputAccessoryView:myToolbar]; 
     myToField.textAlignment = UITextAlignmentLeft; 
     [myToField setContentVerticalAlignment:UIControlContentVerticalAlignmentCenter]; 

     myToField.rightViewMode=UITextFieldViewModeAlways; 
     // has a clear 'x' button to the right 
     myToField.delegate = self; 
     [myToField becomeFirstResponder]; 
     [self.view addSubview:myToField]; 

    } 

    -(void)aCenterBtnClicked:(id)sender{ 

     [myToField resignFirstResponder]; 

     myToolbar.frame = CGRectMake(0,198, 320, 35); 
     myToolbar.barStyle = UIBarStyleBlackTranslucent; 
     [self.view addSubview:myToolbar]; 
    } 

答えて

0

inputAccessoryViewsはあなたがキーボードを非表示にした場合、それはinputAccessoryViewを非表示になります、UIKeyboardのサブビューとして配置されています。ツールバーをself.viewのサブビューとして追加し、UIKeyboardWillShow通知を購読してuserInfoからアニメーションの期間を引っ張ってキーボードが表示されたら、その位置をアニメートしてみてください。

0

静的ツールバーを試してみてください。それはあなたには簡単だと思います。私はsetinputviewから削除する前に完了していません。

関連する問題