ios - 在编辑时调整 UITextField 的大小

标签 ios objective-c uitextfield

我的 View 中有一个 UITextField,它有大小限制来布置它的位置。我想要发生的是当用户开始编辑字段时 UITextField 的宽度发生变化。

我将 View Controller 设置为该字段的委托(delegate),并且委托(delegate)方法在这里工作

- (void)textFieldDidBeginEditing:(UITextField *)textField{
    NSLog(@"Search Field is being edited");

}

我需要知道的是,我需要对 textField 做些什么才能改变它的宽度,因为我尝试过的所有方法都不起作用。

谢谢

最佳答案

您可以做的是为文本字段的宽度约束设置一个导出。 在下面的例子中,我假设它的名字是 textFieldWidthConstraint

在您的 textFieldDidBeginEditing: 方法中添加:

-(void)textFieldDidBeginEditing:(UITextField *)textField
{
    // no animation
    self.textFieldWidthConstraint.constant = newWidth;

    // animation
    [self.view layoutIfNeeded];
    [UIView animateWithDuration:0.3 animations:^
    {
        self.textFieldWidthConstraint.constant = newWidth;
        [self.view layoutIfNeeded];
    }
}

你可以对高度做同样的事情。

希望对您有所帮助,如果您需要更多帮助,请告诉我。

关于ios - 在编辑时调整 UITextField 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28744036/

相关文章:

objective-c - Objective-C 支持#elifdef 吗?

iphone - XCode 不小心将我的项目添加到文件夹

ios - 使用 TPKeyboardAvoiding 类时 UITextField 弹出太高

ios - shouldChangeCharactersInRange 返回旧结果 iOS

ios - 如何在 Alamofire 4 和 Swift 3 中设置方法、 header 、参数

ios - 如何知道从另一个 View Controller 中的 UICollectionViewController 按下了哪个按钮

带有服务器的 ios 快速图像缓存

ios - Sync 解决 Terminating app due to uncaught exception 'NSGenericException',原因 : '*** Collection <__NSCFSet: > was mutated while being enumerated

ios - 我可以将任务分配给 iOS 中的特定核心吗?

iphone - 如何在 Interface Builder 中使用 iPhone 主视图之外的 UI 元素设置 UIScrollView?