使用多列设置NSTableView以仅在一列中显示某些数据的简单方法是什么.我设置了IBOutlets,但我不知道从那里去哪里.
我试图把我绑NSArraycontroller在一个NSMutableArray; 该数组包含"iData"类型的对象(它是一个自定义类).该类还包含一些NSMutableString变量,这些变量被设置为KVC的键.然后我将my绑定NSTableColumn到NSArrayController并分别设置每列的关键模型路径.
当我尝试填充数组时,GUI不会显示任何内容.我忘记了什么?
objective-c nstableview nstablecolumn nsarraycontroller cocoa-bindings
无论我返回什么,表视图将只显示.xib文件中手动设置的显示文本(NSTextField的'Title').请帮我弄清楚我做错了什么.谢谢.
我的NSTableView只有1列.
这是代码:
#import "DeviceSettingsController.h"
#import <ImageCaptureCore/ImageCaptureCore.h>
@interface DeviceSettingsController ()
@property (weak) IBOutlet NSTableView *tableViewScanners;
@property (weak) IBOutlet NSMatrix *checkBoxes;
@property NSMutableArray *availableScanners;
@property ICDeviceBrowser *deviceBrowser;
@end
@implementation DeviceSettingsController
- (void)viewDidLoad {
[super viewDidLoad];
_availableScanners = [[NSMutableArray alloc] init];
_deviceBrowser = [[ICDeviceBrowser alloc] init];
_tableViewScanners.delegate = self;
_tableViewScanners.dataSource = self;
_deviceBrowser.browsedDeviceTypeMask = ICDeviceTypeMaskScanner | ICDeviceLocationTypeMaskLocal | ICDeviceLocationTypeMaskShared | ICDeviceLocationTypeMaskBluetooth | ICDeviceLocationTypeMaskBonjour;
_deviceBrowser.delegate = self;
[_deviceBrowser start];
}
- (id)initWithMainView:(NSView *)_theView AndMainController:(NSViewController *)_theViewController AndNibName:(NSString *)nibName AndArgs:(NSArray *)_args {
self = [super …Run Code Online (Sandbox Code Playgroud) 我在以编程方式将 NSTableView 添加到 NSView 时遇到了一些麻烦。该视图是 NSSplitView 的第一个视图。我的指针设置正确我很确定,因为我可以向视图添加 NSButton 没问题。我的 tableview 的委托和数据源方法也按预期工作。如果我使用界面生成器将表视图添加到我的视图中,它就可以工作。但是,我不想使用IB。我希望能够通过代码做到这一点。这是我目前使用的代码。
-(void)awakeFromNib{
tableData = [[NSMutableArray alloc]initWithObjects:@"March",@"April",@"May", nil];
tableView = [[NSTableView alloc]initWithFrame:firstView.frame];
[tableView setDataSource:self];
[tableView setDelegate:self];
[firstView addSubview:tableView];
NSButton *j = [[NSButton alloc]initWithFrame:firstView.frame];
[j setTitle:@"help"];
[firstView addSubview:j];
}
Run Code Online (Sandbox Code Playgroud)
NSButton 对象出现在屏幕上,但如果我注释掉该按钮,则不会出现 tableview。我究竟做错了什么。谢谢您的帮助。
我正在使用NSTableView的Cocoa应用程序上工作。
现在,我希望通过用户从角落拖动应用程序或单击缩放按钮来在用户调整窗口大小或最大化窗口时自动调整表视图中列的宽度。
任何帮助将不胜感激。