我正在为应用构建首选项窗格,用户可以在其中将Web服务添加到列表中(在左侧的tableview中),并且右侧会出现一个表单,用户可以在其中编辑Web服务的配置选项(如用户名或密码或API密钥或tumblr博客名称等)我认为我需要不同类型服务的不同视图(可能有不同的验证逻辑等)。
我的问题是实现这个的最佳方法是什么?
我做了什么:我有NSSplitView
NSTableView
。我有一个NSArrayController
content
与NSUserDefaultsController
中的相应密钥绑定,NSTableView
绑定到arrangedObjects
和selectionIndexes
。接下来,我在右侧添加了NSTabView
,其中selectedIndex
绑定到NSArrayController
的selectedIndex,我正在尝试以编程方式插入相应的视图(我创建的视图将选项卡中的自定义视图分隔为选项卡。
在我看来,这不是最好的方法。我也不知道在详细视图中绑定字段的内容 - 是否可以在这里使用绑定?你会如何解决这个问题?
答案 0 :(得分:1)
而不是NSTabView
,为检查员(NSView
)创建一个空白inspectorView
。同样的想法,但有点简单。
在tableViewSelectionDidChange
中,写下如下内容:
newView = ...;
if (inspectorView != [customInspectorView superview]) {
NSView *oldView = [[inspectorView subviews] objectAtIndex:0];
[inspectorView replaceSubview:oldView with:newView];
}
您可以将字段绑定到servicesArrayController.selection.username
,依此类推。