0

首先我想说我是 iOS 开发的新手。我在 ScrollView 中显示来自 xib 文件的视图时遇到问题。

这个 MyView 只有一个标签的绿色背景。这是来自其控制器的代码:

@implementation MyView

  - (id)initWithFrame:(CGRect)frame
  {
      self = [super initWithFrame:frame];
      if (self) {
      //init code
      }
      return self;
   }

   - (id) initWithCoder:(NSCoder *)aDecoder 
   {
       if (self = [super initWithCoder:aDecoder]) {
       [self setAutoresizingMask:UIViewAutoresizingFlexibleHeight];
        }

   return self;
   }

@end

这是来自主控制器的代码,滚动视图在哪里:

 - (void)viewDidLoad
{
   [super viewDidLoad];

   scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 67, self.view.frame.size.width, self.view.frame.size.height)];
   scroll.pagingEnabled = YES;
   scroll.frame = CGRectMake(0, 20, 320, 350);
   scroll.contentSize = CGSizeMake(320, 350);
   scroll.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
   scroll.bounces = YES;
   scroll.bouncesZoom = YES;
   scroll.scrollEnabled = YES;
   scroll.minimumZoomScale = 0.5;
   scroll.maximumZoomScale = 5.0;
   scroll.delegate = self;
   scroll.pagingEnabled = YES;

   NSArray *nibContents = [[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil];    
   UIView *myView = [nibContents objectAtIndex:0];
   myView.frame = CGRectMake(0,20,300,300);

   [scroll addSubview:myView];

}

我唯一想做的就是在 ScrollView 中看到 MyView(带有一个标签的绿色背景)。如果我运行这个应用程序,滚动视图是空的,里面什么也没有显示。

可能这是一个愚蠢的问题,但正如我所说,我是这方面的新手。我有一个来自 Apple 的 PageControll 应用程序,但对我来说,这在我的 iOS 开始时是相当复杂的代码。当然我在谷歌搜索......请告诉我哪里有问题。谢谢

4

2 回答 2

1

你在哪里定义滚动?它是您的视图控制器的属性吗?我认为这里的问题是您没有将滚动视图添加到视图控制器的视图中

[self.view addSubview:scroll]
于 2013-05-09T13:53:21.720 回答
0

一切似乎都对了。只需保留您从以下行收到的类中的视图,并将其作为子视图添加到您的滚动视图中。

self.myView = [nibContents objectAtIndex:0];

此致。

于 2013-05-09T13:37:06.873 回答