だから、私は編集モードにUIButton
あるとき、非表示と非表示になることを持っています。UITextField
問題は、(非表示から非表示に) 完全に変更されますが、アニメーション化されないことです。代わりに試してみましsetAlpha:
たが、アルファを 100 から 0 ではなく 0 から 100 に設定している場合にのみ機能します。これまでのコードは次のとおりです。
-(BOOL) textFieldShouldBeginEditing:(UITextField *)textField
{
negButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
negButton.frame = CGRectMake(textField.frame.origin.x, textField.frame.origin.y, 37, textField.frame.size.height);
[negButton setHidden:YES];
return YES;
}
-(void) textFieldDidBeginEditing:(UITextField *)textField
{
if ([textField isEditing])
{
[UIView animateWithDuration:0.3 animations:^
{
CGRect frame = textField.frame;
frame.size.width -= 40;
frame.origin.x += 40;
[negButton setHidden:NO];
[textField setFrame:frame];
[self.view addSubview:negButton];
}];
}
}
-(void) textFieldDidEndEditing:(UITextField *)textField
{
[UIView animateWithDuration:0.3 animations:^
{
CGRect frame = textField.frame;
frame.size.width += 40;
frame.origin.x -= 40;
[negButton setHidden:YES];
[negButton removeFromSuperview];
[textField setFrame:frame];
}
];
}
編集:問題を解決しました。関数を呼び出す必要がなかっただけremoveFromSuperview
で、非表示からアルファに切り替える必要がありました。(以下の@Davidの回答を参照)