Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c UIViewController上的UIScrollView_Objective C - Fatal编程技术网

Objective c UIViewController上的UIScrollView

Objective c UIViewController上的UIScrollView,objective-c,Objective C,我正在处理一个应用程序的菜单。现在的问题是我无法让UIScrollView工作。UIScrollView位于Xib文件中。 它加载正常,但当我试图滚动它崩溃 我认为问题在于我使用了UIViewController,因为当我删除委托时,它不会自动工作。现在我得到了:scrollView.delegate=self 当委托是appDelegate时,它正在工作,但这不是我想要的 我在课堂上使用了以下函数: (void)加载滚动视图带页面:(int)页面 (无效)scrollViewDidScrol

我正在处理一个应用程序的菜单。现在的问题是我无法让UIScrollView工作。UIScrollView位于Xib文件中。 它加载正常,但当我试图滚动它崩溃

我认为问题在于我使用了UIViewController,因为当我删除委托时,它不会自动工作。现在我得到了:scrollView.delegate=self

当委托是appDelegate时,它正在工作,但这不是我想要的

我在课堂上使用了以下函数:

  • (void)加载滚动视图带页面:(int)页面
  • (无效)scrollViewDidScroll:(UIScrollView*)发送方
  • (无效)ScrollViewDiEndDecelling:(UIScrollView*)scrollView
我想我有两个选择。使用视图(是否可能)或UIScrollview的委托创建NSObject

我犯的错误是:

2009-11-14 17:50:25.723 Par23[1240:20b]*-[NSCFType scrollViewDidScroll:]:发送到实例0x4834190的无法识别的选择器
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;”,效果不错,谢谢