cocoa – 具有自动布局的NSTextFields;打字成长为太空

cocoa – 具有自动布局的NSTextFields;打字成长为太空,第1张

概述我想用这些要求布局我的视图: a)有2个文本字段,最小宽度为90 b)我希望文本字段始终保持10之间的间隙 c)我希望输入的文本字段根据需要变大,然后开始占用右边的空白区域.如果第一个字段是类型,它应该变大并将最后一个字段推入空间(当然只增加第一个字段的宽度) d)我希望文本字段在靠近视图的右边缘后停止增长(标准20像素) e)高度限制很简单:只需22px,顶部与图片顶部对齐 这是我想要的布局: 我想用这些要求布局我的视图:
a)有2个文本字段,最小宽度为90
b)我希望文本字段始终保持10之间的间隙
c)我希望输入的文本字段根据需要变大,然后开始占用右边的空白区域.如果第一个字段是类型,它应该变大并将最后一个字段推入空间(当然只增加第一个字段的宽度)
d)我希望文本字段在靠近视图的右边缘后停止增长(标准20像素)
e)高度限制很简单:只需22px,顶部与图片顶部对齐

这是我想要的布局:

以下是约束:

我已经尝试了所有的东西,但我无法让它发挥作用.当你输入时,我可以让一个文本字段正确增加(使用此链接中的答案:getting a NSTextField to grow with the text in auto layout?),但无法使其与旁边的第二个文本字段一起使用,将其推入占据空白区域.我已经玩过内容拥抱/压缩阻力优先级,给文本字段> = 90宽度(右边有一个引脚)…似乎没有在IB中正确设置(使用Xcode 5.1).如果我添加宽度约束,或者抱怨没有宽度的缺失约束,它会抱怨约束歧义.

任何想法如何让这个工作?

编辑:

这就是我想象的理想布局:约束小于400钉在右边.但它仍然抱怨“不平等约束模糊”.

解决方法 这已经差不多一年了,但我认为这是一个非常好的问题值得回答,所以我着手解决你的问题并设法以一种非常简单的方式解决它.

您可以通过单击here在Github中找到示例项目.

不用考虑,我是用UIKit做的,所以我希望你在Desktop Framework中有相同的API.

首先,我设置这样的约束:

firstTextFIEld: {    Leading = 20pt (to superVIEw),WIDth >= 90pt,Trailing = 10pt (to secondTextFIEld),Vertical Align Y (to superVIEw)}secontTextFIEld: {    Leading = 10pt (to firstTextFIEld),Trailing = 20pt (to superVIEw),Vertical Align Y (to superVIEw)}

这就是界面.现在,在代码中,您需要第一个文本字段的出口,以及文本更改时的回调方法.然后,在此方法中,您必须使firstTextFIEld的instrinsicContentSize无效:

@interface VIEwController () <UITextFIEldDelegate>@property (weak,nonatomic) IBOutlet UITextFIEld *firstTextFIEld;@end@implementation VIEwController- (voID)vIEwDIDLoad{    [super vIEwDIDLoad];    [self.firstTextFIEld addTarget:self                            action:@selector(textFIEldDIDChange)                  forControlEvents:UIControlEventEditingChanged];}- (voID)textFIEldDIDChange{    [self.firstTextFIEld invalIDateIntrinsicContentSize];}@end
总结

以上是内存溢出为你收集整理的cocoa – 具有自动布局的NSTextFields;打字成长为太空全部内容,希望文章能够帮你解决cocoa – 具有自动布局的NSTextFields;打字成长为太空所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1009962.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存