ios - 使用自动布局时增加 UITextField 高度

标签 ios iphone objective-c ipad autolayout

我已经创建了一个 UITextField 子类并设置了自定义高度的框架。

CGRect frame = self.frame;
frame.size.height = 40;
self.frame = frame;

现在在我的 UIViewController nib 文件中,我只需拖动一个 UITextField 对象并使用身份检查器设置其自定义类。它工作正常。文本框的高度现在是 40。

问题是当我为这个 nib 文件启用自动布局时,文本字段不再保留新的高度。高度再次回到默认值 30。

我认为这是因为在 nib 文件中,高度仍然是 30,而 Autolayout 将其固定为 30。

在使用自动布局时将文本字段高度设置为 40 的任何解决方案?

编辑:

如果我添加 40px 高度限制,我必须对项目中的所有 Nib 执行此操作。有什么解决方案可以做到这一点吗?可以编程方式在自定义 UITextField 类中吗?

最佳答案

如果您需要在代码中更改它,请为它创建一个导出并将其常量值更改为 40。因此,如果您的 IBOutlet 名为 heightCon,请执行以下操作:

self.heightCon.constant = 40;

关于ios - 使用自动布局时增加 UITextField 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20650948/

相关文章:

ios - 计算游戏结束的节点

iphone - 不是 PNG filCommand copypng 发出错误但未返回非零退出代码以指示失败

objective-c - 从 int/float 中获取前三位数字

objective-c - 如何在之前放置为 MKPinAnnotationView 的 leftCalloutAccessoryView 的按钮下添加文本

ios - 通过KVO观察数据库值的变化

ios - 在 iOS 中删除和更新核心数据中的数据

ios - 如何获得 NSString 中字符的位置?

iphone - 以编程方式发送短信,无需短信编辑器窗口

ios - 从 iOS 上的 mov 文件中提取元数据

ios - AVAsset 无法识别 NSURL - 崩溃 - iOS