簡體   English   中英

NSPredicateEditor 不調整 NSTextField 的大小

[英]NSPredicateEditor does not resize NSTextField

有沒有可行的方法讓NSPredicateEditor調整NSTextField的大小?

我得到的只是NSPredicateEditorRowTemplate並在我的 class 中寫入以下 function:

- (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)]設置錨點(邊距)沒有效果

每次通過按下按鈕顯示 NSPredicateEditor 時,我都將其稱為 function,並且每次在 function -(IBAction)predicateEditorChanged:(NSPredicateEditor *)sender中。 它似乎工作正常,但是當我多次更改設置 NSPredicateEditor 時,有時調整大小開始工作不正確。

請任何幫助。

一種選擇是創建自定義 NSPredicateEditorRowTemplate 並覆蓋 templateViews 方法。

像這樣:

- (NSArray *)templateViews {
    NSArray *views = [super templateViews];
    NSView *lastView = [views lastObject];
    NSRect viewFrame = lastView.frame;
    viewFrame.size.width = 100.0f;
    lastView.frame = viewFrame;
    return views;
}

然后將寬度設置為您需要的任何值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM