我的应用程序中有一个 TextView ,旁边有一个完成按钮,用于放弃键盘。基本上,我希望 TextView 在点击时减小宽度,而不是将完成按钮永久地放在 TextView 旁边,然后完成按钮会出现在该空间中。然后,当用户点击屏幕或完成按钮时,按钮消失, TextView 再次增大到正常大小。
我已经实现了让按钮在用户开始输入时出现的代码,但我想更改它以便在他们点击 TextView 时出现,我还需要帮助添加动画以缩小 TextView .
谢谢。
最佳答案
实现 TextView 的委托(delegate)方法textViewShouldBeginEditing:
。然后在该方法中执行如下操作:
button.alpha = 0.0f;
button.hidden = NO;
[UIView animationWithDuration:0.3f animations:^{
NSInteger padding = 5;
CGRect textViewFrame = textView.frame;
textViewFrame.width -= CGRectGetWidth(button.frame) - padding;
// Edit
textView.frame = textViewFrame;
// and just to fade the button in as the text field shrinks
button.alpha = 1.0;
}];
当您单击按钮将文本字段返回到正确的宽度时,我会执行相反的操作
关于ios - 减小 UITextView 的大小以显示 UIButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26244695/