0

我用自己的数据源创建 NSOutlineView。现在的问题是,在扩展项目时,它会向上和向右扩展,而我已经提到了框架。如何解决这个扩展?我想要一个固定的窗口。

    NSOutlineView *     outlineview;    ///< Outline view.
    OutlineDataSource * datasource;     ///< Data source.


//Create the outline view.
outlineview     = [[NSOutlineView alloc] initWithFrame:NSMakeRect (10, 430, 400, 800)];
[outlineview setDelegate:self];

//Create the data source.
datasource  = [[OutlineDataSource alloc]init];

//Set the data source.
[outlineview setDataSource:(id<NSOutlineViewDataSource>)datasource];
    NSTableColumn *c    = [[NSTableColumn alloc] initWithIdentifier: @"Cases"];

//Create a column.
[c setEditable: NO];
[c setMinWidth: 450];
[outlineview addTableColumn: c];
[outlineview setOutlineTableColumn: c];


//Add the outline view to the window.
[view addSubview: outlineview];
4

1 回答 1

0

您需要在 Interface Builder 中设置适当的约束,包括适当的优先级。

在您的情况下,大纲视图和/或封闭滚动视图的优先级应低于窗口宽度。

这可能需要一些试验,并且在第一次获得所有约束时可能会有点挑战。

如果您不使用 Interface Builder,您可以在docs中阅读有关您的选项的信息。

同一文档中的调试建议也非常有用。

于 2013-03-14T14:26:36.290 回答