我部分通过添加一个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];
答案 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];
}