在ScrollView中显示来自xib的视图

时间:2013-05-09 13:13:03

标签: ios view scrollview xib

首先,我想说我是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

这是来自主控制器的代码,其中是ScrollView:

 - (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(带有一个标签的绿色背景)。如果我运行此应用程序,则scrollview为空,内部未显示任何内容。

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

2 个答案:

答案 0 :(得分:1)

你在哪里定义滚动?它是viewcontroller的属性吗? 我认为这里的问题是你没有使用

将滚动视图添加到viewcontroller的视图中
[self.view addSubview:scroll]

答案 1 :(得分:0)

一切似乎都是正确的。只需保留您从下一行收到的班级视图,并将其作为子视图添加到您的滚动视图中。

self.myView = [nibContents objectAtIndex:0];

最诚挚的问候。