[英]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.