如何在scrollView下添加/使视图可见?

时间:2011-03-17 02:37:36

标签: iphone xcode sdk uiscrollview xib

我部分通过添加一个scrollview,通过实例化一个子类uiscrollview(下面称为ScrollViewManager)来覆盖touchesEnded。问题是虽然我的课程现在有滚动和触摸,但我再也看不到我的视图/ nib文件了,即使它正在响应触摸并滚动正常。

我的想法是将MyClass笔尖添加回子视图?或者不知道......似乎它就在那里但只是隐藏在这个scrollView背后。

来自'Myclass:UIViewController'的摘录在viewDidLoad中有这些代码行来获取带有触摸响应的滚动操作。

非常感谢你。那么多。

scrollView = [[ScrollViewManager alloc] initWithFrame:self.view.frame]; 
scrollView.contentSize = CGSizeMake(320, 600);
[scrollView setUserInteractionEnabled:TRUE];
[scrollView setScrollEnabled:TRUE];
self.view = scrollView;

//trying with this line to add my nib for this class on top of the scroll view
    //which doesn't work: 'Accessing unknown 'view' class method'
[scrollView addSubview:Myclass.view];
    [scrollView release];

2 个答案:

答案 0 :(得分:1)

self.view = scrollView行使您的视图由视图控制器指向scrollview。 即self.view& scrollView现在指向同一个对象

之后当你尝试[scrollView addSubview:Myclass.view];实际发生的是你将scrollView添加到你的scrollView&访问scrollview的view属性。

只需删除self.view = scrollView行&这样做

[self.view addSubView:scrollView];
[scrollView release];

希望它能奏效。

答案 1 :(得分:0)

由于某种原因,我无法在您的帖子中添加评论。它没用。 Apple谈到添加子视图here:但没有解释如何。他们的代码如下所示,用于添加滚动方面,就像我上面所做的那样。我现在正试图将我的视图添加为子视图:

 UIView *newView = [[NSBundle mainBundle] loadNibNamed:@"MyClassView" owner:self options: nil];
[scrollView addSubview:newView];

但崩溃并没有去哪里。不知道现在该做什么。这里的Apple代码带有原始评论:

  (void)loadView {
    CGRect fullScreenRect=[[UIScreen mainScreen] applicationFrame];
    scrollView=[[UIScrollView alloc] initWithFrame:fullScreenRect];
    self.view=scrollView;
    scrollView.contentSize=CGSizeMake(320,758);
    scrollView.contentInset=UIEdgeInsetsMake(64.0,0.0,44.0,0.0);


// do any further configuration to the scroll view
// add a view, or views, as a subview of the scroll view.

// release scrollView as self.view retains it
self.view=scrollView;
[scrollView release];

}