0

我正在制作我的第一个 OSX 应用程序。我的 appDelegate 有一个包含 NSViewController 的 contentView 的窗口。这个 NSViewController 有一个在启动时显示的自定义视图。我添加了一个 NSScrollView 作为我的 NSViewController 的属性,并在 xib 中将它放在正确的位置并将其引用给文件所有者(NSViewController)。显示视图时,滚动视图永远不会显示。包含scrollView的代码如下:

在 viewController 的 .h 中:

#import <Foundation/Foundation.h>
#import <Cocoa/Cocoa.h>
#import "StockData.h"
@interface MasterViewController : NSViewController {

IBOutlet NSScrollView * scrollView1;
}
@property (retain) IBOutlet NSScrollView * scrollView1;
@property (retain) NSView * contents;

@end

在 viewController 的 .m 中:

#import "MasterViewController.h"
#import <math.h>
#import <Foundation/Foundation.h>

@implementation MasterViewController
@synthesize scrollView1, contents;

- (void) awakeFromNib
{
self.scrollView1 = [[NSScrollView alloc] init];
self.contents = [[NSView alloc] initWithFrame:NSMakeRect(0,0,430,1000)]; 
[self.view addSubview:scrollView1];
[self.scrollView1 setDocumentView:self.contents];
}

@end

如果有人可以提供帮助,那就太棒了!谢谢!

4

1 回答 1

1

如果我理解你的问题,如果它与 xib 文件连接良好,则不需要分配/初始化 scrollView1。xib 为您分配它,因为 scrollView1 是该 xib 的对象。如果您NSLog(@"%@",[scrollView1 description])在分配之前和之后,它应该给您两个不同的对象。我会尝试 :

self.contents = [[NSView alloc] initWithFrame:NSMakeRect(0,0,430,1000)]; 
[self.view addSubview:scrollView1];
[self.scrollView1 setDocumentView:self.contents];

现在您将 xib scrollView1 对象添加到 self.view。希望能帮助到你!

于 2013-01-18T21:27:47.227 回答