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

NSPredicateEditor不调整NSTextField的大小
EN

Stack Overflow用户
提问于 2012-04-09 18:44:47
回答 1查看 289关注 0票数 3

有没有一种可行的方法让NSPredicateEditor调整NSTextField的大小

我得到的只是NSPredicateEditorRowTemplate的子类,并在我的类中编写以下函数:

代码语言:javascript
复制
- (void)setTextFieldFrameWithPredicateEditor:(NSPredicateEditor *)predicateEditor{
    NSArray *arr = [self templateViews];
    NSView *view = [arr lastObject];
    NSSize needSize = NSMakeSize(NSMaxX(predicateEditor.frame), 17);
    [view setFrameSize:needSize];
}

通过[view setAutoresizingMask:(NSViewMaxXMargin | NSViewWidthSizable)]设置锚点(页边距)不会产生任何影响

我每次在函数-(IBAction)predicateEditorChanged:(NSPredicateEditor *)sender中按下一个按钮来显示NSPredicateEditor时,都会调用这个函数。它似乎工作正常,但当我多次更改设置时,NSPredicateEditor的大小调整开始工作不正确。

有什么需要帮忙的吗?

EN

回答 1

Stack Overflow用户

发布于 2012-10-19 06:26:53

一种选择是创建自定义NSPredicateEditorRowTemplate并覆盖templateViews方法。

如下所示:

代码语言:javascript
复制
- (NSArray *)templateViews {
    NSArray *views = [super templateViews];
    NSView *lastView = [views lastObject];
    NSRect viewFrame = lastView.frame;
    viewFrame.size.width = 100.0f;
    lastView.frame = viewFrame;
    return views;
}

然后将宽度设置为您需要的任何值。

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

https://stackoverflow.com/questions/10072076

复制
相关文章

相似问题

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