2012-04-09 10 views
2

実行可能な方法はありますかNSPredicateEditorサイズ変更NSTextFieldNSPredicateEditorはNSTextFieldのサイズを変更しません

私が得たすべてはNSPredicateEditorRowTemplateをサブクラス化し、私のクラスに次の関数を作成することです:[view setAutoresizingMask:(NSViewMaxXMargin | NSViewWidthSizable)]

によってアンカー(余白)を設定するから、何の効果はありません

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

私は毎回この関数を呼び出しますボタンを押してNSPredicateEditorを表示し、毎回関数-(IBAction)predicateEditorChanged:(NSPredicateEditor *)senderで表示します。正しく動作しているようですが、何度かNSPredicateEditorを何度か変更すると、サイズ変更が正しく行われないことがあります。

助けてください。

答えて

0

カスタムNSPredicateEditorRowTemplateを作成し、templateViewsメソッドをオーバーライドすることもできます。

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

そして、あなたはそれがために何が必要に幅を設定します。このよう

関連する問題