以编程方式为.xib中的UIScrollView设置委派

时间:2012-10-06 10:00:34

标签: iphone objective-c ios xcode

我的.xib文件中有一个UIView。 (注意,不是UIControlView)

@interface OfferUIView : UIView

所以我的UIView的自定义类是OfferUIView

我想为它添加一个scrollView。当我使用xcode功能添加它时,我只是将scrollview的委托连接到OfferUIView。如何在OfferUIView.m中以编程方式执行此操作?

这就是我所说的:

self.scrollView = [[UIScrollView alloc] initWithFrame: frame];
self.scrollView.delegate = self; 

但是我在delegate = self上收到了这样的警告:

Assigning to id<UIScrollViewDelegate> from incompatible type OfferUIView

你知道我该怎么办呢?

编辑:

当我使用

@interface OfferUIView : UIView <UIScrollViewDelegate>

self.pageViews = [[NSMutableArray alloc] init];
    for (NSInteger i = 0; i < pageCount; ++i) {
        [self.pageViews addObject:[NSNull null]];
    }

    CGRect frame = self.view.bounds;
    self.scrollView = [[UIScrollView alloc] initWithFrame: frame];
    CGSize pagesScrollViewSize = self.view.frame.size;
    self.scrollView.contentSize = CGSizeMake(pagesScrollViewSize.width * self.pageImages.count, pagesScrollViewSize.height);
    self.scrollView.delegate = self;

它应该是UIScrollView中的几个图像,但滚动不起作用。

2 个答案:

答案 0 :(得分:3)

您必须指定您的班级应符合UIScrollViewDelegate

@interface OfferUIView : UIView <UIScrollViewDelegate>

答案 1 :(得分:2)

scrollView =[[UIScrollView alloc]initWithFrame:CGRectMake(10, 402, 750, 600)];
scrollView.delegate = self;
scrollView.scrollEnabled = YES; 
[self.view addSubview:scrollView];
[scrollView setContentSize:CGSizeMake(654, ([reports_list count]+1)*110)];

它为我工作......试试吧..并忽略框架。