首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSView调整大小

NSView调整大小
EN

Stack Overflow用户
提问于 2011-04-09 15:26:32
回答 2查看 881关注 0票数 0

我有一个里面有NSTextField的NSView。问题是,每次在显示视图之前,NSTextField的大小都可以改变,我希望NSView的大小也随之改变。因此,如果文本字段有2行长,nsview就会很小(刚好围绕在文本字段周围),但当它有10行长时,我不希望视图的大小与文本字段相隔,我希望视图与之一起增长。

我该怎么做呢?谢谢。

EN

回答 2

Stack Overflow用户

发布于 2011-04-09 16:36:15

这是我在我的表视图中使用的,但它应该同样适用于您的情况:

代码语言:javascript
复制
    float textLabelWidth = 190;

    NSString *Text = [[deals objectAtIndex:[indexPath section]] objectForKey:@"title"];
    UIFont *cellFont = [UIFont fontWithName:@"Helvetica" size:13.0];
    CGSize constraintSize = CGSizeMake(textLabelWidth, MAXFLOAT);
    CGSize labelSize = [Text sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];

    return labelSize.height + 20; // <--- this is what your NSView's height should be, just edit the textLabelWidth and padding (in this case 20) to whatever you desire.

希望这能有所帮助!

票数 0
EN

Stack Overflow用户

发布于 2016-01-24 04:22:24

您需要设置"contentHugging和contentCompression“优先级。

简而言之:

代码语言:javascript
复制
contentHugging: sets the preference where a control resists being made *larger* than it's intrinsic size

contentCompression: sets the preference where a control resists being made *smaller* than it's intrinsic size

Apple在这里有一个推荐人:

https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithConstraintsinInterfaceBuidler.html

特别是向下滚动到Setting Content-Hugging and Compression-Resistance Priorities部分。

这就是处理textFields等问题的方法。等等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5603548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档