ios - 减小 UITextView 的大小以显示 UIButton

标签 ios swift uibutton uitextview uianimation

我的应用程序中有一个 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/

相关文章:

ios - UITableViewCell setHighlighted 内的 UIButton 未在表格滚动上更新

ios - 如何删除我用循环创建的多个按钮?

ios - 如何从共享类获取 JSON 响应数据到 ViewController?

android - Firebase FCM 事务通知(主题与注册 token )

swift - 委托(delegate)不能使用容器 ViewController

ios - 在另一个类中调用函数的最佳方式是什么? ( swift )

iphone - 如何在 iphone 中以编程方式实现带有背景图像的按钮

ios - 如何在较新的 Xcode 上安装较旧的 iOS 运行时?

ios - 触发 tintColorDidChange 以响应用户操作使有色元素去饱和

swift - Swift 中 float 的定点表示