Objective c UIViewController上的UIScrollView
我正在处理一个应用程序的菜单。现在的问题是我无法让UIScrollView工作。UIScrollView位于Xib文件中。 它加载正常,但当我试图滚动它崩溃 我认为问题在于我使用了UIViewController,因为当我删除委托时,它不会自动工作。现在我得到了:scrollView.delegate=self 当委托是appDelegate时,它正在工作,但这不是我想要的 我在课堂上使用了以下函数:Objective c UIViewController上的UIScrollView,objective-c,Objective C,我正在处理一个应用程序的菜单。现在的问题是我无法让UIScrollView工作。UIScrollView位于Xib文件中。 它加载正常,但当我试图滚动它崩溃 我认为问题在于我使用了UIViewController,因为当我删除委托时,它不会自动工作。现在我得到了:scrollView.delegate=self 当委托是appDelegate时,它正在工作,但这不是我想要的 我在课堂上使用了以下函数: (void)加载滚动视图带页面:(int)页面 (无效)scrollViewDidScrol
- (void)加载滚动视图带页面:(int)页面
- (无效)scrollViewDidScroll:(UIScrollView*)发送方
- (无效)ScrollViewDiEndDecelling:(UIScrollView*)scrollView
2009-11-14 17:50:25.724 Par23[1240:20b]*由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“***-[NSCFType scrollViewDidScroll::未识别的选择器发送到实例0x4834190” 这不是功能的问题。当我删除函数中的所有代码时,仍然会出现此错误 scrollview获得以下设置:
scrollView.PaginEnabled=是
scrollView.contentSize=CGSizeMake(scrollView.frame.size.width*kNumberOfPages,scrollView.frame.size.height)
scrollView.showsHorizontalScrollIndicator=否
scrollView.showsVerticalScrollIndicator=否
scrollView.scrollsToTop=否
scrollView.delegate=self 将ScrollView的委托设置为ViewController当然是可以接受的设计。您需要在模拟器中运行应用程序时打开控制台,以查看错误。如果没有错误日志,几乎不可能进行诊断
此外,您可能需要考虑将代码发布到您的滚动视图委托函数。
< P>将ScVIEW视图的委托设置为VIEW控制器是一个可接受的设计。您需要在模拟器中运行应用程序时打开控制台,以查看错误。如果没有错误日志,几乎不可能进行诊断此外,您可能需要考虑将代码发布到您的滚动视图委托函数。
我也遇到了与UIScrollViewDelegte相同的问题。我正在将创建我的UIScrollView的视图控制器设置为该UIScrollView的代理,并且还将无法识别的选择器发送到上面列出的实例问题
在我的视图控制器中,此代码崩溃 // create the scrollview
scrollView = [[UIScrollView alloc] initWithFrame:scrollFrame];
// add content view to the scrollView
scrollView.contentSize = contentFrame.size;
scrollView.scrollEnabled = YES;
scrollView.clipsToBounds = YES;
scrollView.delegate = self;
[scrollView addSubview:contentView];
我通过将UIScrollView子类化并将其作为委托来解决这个问题。现在我的scrollView是它自己的委托。这是更改后的代码
// create the scrollview
scrollView = [[PMStickyHeaderScrollView alloc] initWithFrame:scrollFrame];
// add content view to the scrollView
scrollView.contentSize = contentFrame.size;
scrollView.scrollEnabled = YES;
scrollView.clipsToBounds = YES;
scrollView.delegate = scrollView; // notice that the scrollView is its own delegate
[scrollView addSubview:contentView];
这个变通方法对我来说已经足够了。下面是我的scrollView子类的简单实现
@interface PMStickyHeaderScrollView : UIScrollView <UIScrollViewDelegate>
@end
@implementation PMStickyHeaderScrollView
- (void)scrollViewDidScroll:(UIScrollView *)sView
{
NSLog(@"scrollViewDidScroll %@", [sView description]);
}
@end
@界面PMStickyHeaderScrollView:UIScrollView
@结束
@实现PMStickyHeaderScrollView
-(无效)scrollViewDidScroll:(UIScrollView*)sView
{
NSLog(@“scrollViewDidScroll%@,[sView description]);
}
@结束
值得一提的是,我认为问题的根本原因是当设置UIScrollView的委托时,UIScrollView对响应程序链的处理不正确,但我没有看到任何关于这方面的错误报告。我正在使用iPhone3.0SDK。其他人在用什么?这个问题还有其他聪明的解决方法吗?我对UIScrollViewDelegte也有同样的问题。我正在将创建我的UIScrollView的视图控制器设置为该UIScrollView的代理,并且还将无法识别的选择器发送到上面列出的实例问题 在我的视图控制器中,此代码崩溃
// create the scrollview
scrollView = [[UIScrollView alloc] initWithFrame:scrollFrame];
// add content view to the scrollView
scrollView.contentSize = contentFrame.size;
scrollView.scrollEnabled = YES;
scrollView.clipsToBounds = YES;
scrollView.delegate = self;
[scrollView addSubview:contentView];
我通过将UIScrollView子类化并将其作为委托来解决这个问题。现在我的scrollView是它自己的委托。这是更改后的代码
// create the scrollview
scrollView = [[PMStickyHeaderScrollView alloc] initWithFrame:scrollFrame];
// add content view to the scrollView
scrollView.contentSize = contentFrame.size;
scrollView.scrollEnabled = YES;
scrollView.clipsToBounds = YES;
scrollView.delegate = scrollView; // notice that the scrollView is its own delegate
[scrollView addSubview:contentView];
这个变通方法对我来说已经足够了。下面是我的scrollView子类的简单实现
@interface PMStickyHeaderScrollView : UIScrollView <UIScrollViewDelegate>
@end
@implementation PMStickyHeaderScrollView
- (void)scrollViewDidScroll:(UIScrollView *)sView
{
NSLog(@"scrollViewDidScroll %@", [sView description]);
}
@end
@界面PMStickyHeaderScrollView:UIScrollView
@结束
@实现PMStickyHeaderScrollView
-(无效)scrollViewDidScroll:(UIScrollView*)sView
{
NSLog(@“scrollViewDidScroll%@,[sView description]);
}
@结束
值得一提的是,我认为问题的根本原因是当设置UIScrollView的委托时,UIScrollView对响应程序链的处理不正确,但我没有看到任何关于这方面的错误报告。我正在使用iPhone3.0SDK。其他人在用什么?这个问题还有其他聪明的解决方法吗?我遇到了同样的问题。在将视图控制器添加到视图后,当我停止释放视图控制器(具有scrollView)时,意外修复了它。我不知道为什么会发生这种情况,因为我确信在将视图控制器添加到视图后释放它是正确的,因为我没有对它做任何其他操作。我遇到了同样的问题。在将视图控制器添加到视图后,当我停止释放视图控制器(具有scrollView)时,意外修复了它。我不知道为什么会发生这种情况,因为我确信在将视图控制器添加到视图后释放视图控制器是正确的,因为我没有对它做任何其他操作。†他的信息应该作为注释而不是答案发布。†他的信息应该作为注释而不是答案发布。我只添加了“scrollView.delegate=scrollView;”并且有效,谢谢,我刚刚添加了“scrollView.delegate=scrollView;”,效果不错,谢谢