为了支持缩放UIScrollView中的图像,我想我必须将MyController与UIScrollViewDelegate一致,如下所示。但是,即使编译器生成以下警告消息,它也能正常工作而不符合UIScrollViewDelegate。
警告:类“myController的”不执行“UIScrollViewDelegate”协议
是不是强制性的,以符合UIScrollViewDelegate在头文件?
如果我忘记符合,是否有任何副作用?
为什么我可以支持缩放UIScrollView而不符合UIScrollViewDelegate?
//@interface MyController : UIViewController <UIScrollViewDelegate>
@interface MyController : UIViewController
{
UIScrollView *scrollView;
UIImageView *imageView;
}
@end
@implementation HelloController
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return imageView;
}
- (void)loadView
{
UIImage *img = [UIImage imageNamed:@"foo.png"];
imageView = [[UIImageView alloc] initWithImage:img];
imageView.userInteractionEnabled = NO;
scrollView = [[UIScrollView alloc] initWithFrame: [[UIScreen mainScreen] applicationFrame]];
[scrollView setScrollEnabled:YES];
[scrollView setContentSize:[imageView size]];
[scrollView setMaximumZoomScale:2.0f];
[scrollView setMinimumZoomScale:0.5f];
[scrollView setDelegate:self];
[scrollView addSubview:imageView];
self.view = scrollView;
[scrollView release];
}
@end
感谢您的回答。这对我来说很有意义。但是,如果我通过Interface Builder分配委托,则Interface Builder不会投诉。这是有趣的行为。无论如何,再次感谢! – tomute 2010-02-06 17:17:15