いくつかのピッカーを入力しようとしているいくつかのテキストボックスを持つビューベースのアプリケーションがあります。たとえば、そのうちの 1 つは日付選択用です。次を使用して、現在のビューの下部に新しいビューを追加し、ビュー全体を上にスクロールします。
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
if(textField == [self date]) {
editingDate = YES;
UIDatePicker *pv = [[UIDatePicker alloc] initWithFrame:CGRectMake(0,460,0,0)];
pv.userInteractionEnabled = YES;
[self.view addSubview:pv];
textField.placeholder = @"currently selecting below";
[self scrollTheView:YES];
return NO;
}
return YES;
}
私の scrollTheView メソッドは次のように実行されます。
- (void)scrollTheView:(BOOL) moveUp {
int scrollAmount = 212;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
CGRect rect = self.view.frame;
if(moveUp){
rect.origin.y -= scrollAmount;
}
else {
rect.origin.y += scrollAmount;
}
self.view.frame = rect;
[UIView commitAnimations];
}
私の問題は、表示は完璧に見えますが、datepicker コントロールが私の入力をまったく受け付けないことです。現在の日付に固執しているだけです。ここで何が欠けているのかわかりません。おそらく単純なものです。