在下面的代码我有一个UIScrollView中的实例的视图对象,如果我运行下面的代码,我得到警告说,"UIView might not respond to -setContentSize etc."
投射指定未知对象类型?
UIImage *image = [UIImage imageNamed:@"Snowy_UK.jpg"];
imageView = [[UIImageView alloc] initWithImage:image];
[[self view] addSubview:imageView];
[[self view] setContentSize:[image size]];
[[self view] setMaximumZoomScale:2.0];
[[self view] setMinimumZoomScale: [[self view] bounds].size.width/[image size].width];
我已经检查了对象的类型和[self view]
确实是一个UIScrollView
。我猜测这只是编译器对这个类型做出错误的猜测,而解决方案只是简单地将对象转换为正确的类型,我是否正确?
UIScrollView *scrollView = (UIScrollView *)[self view];
UIImage *image = [UIImage imageNamed:@"Snowy_UK.jpg"];
imageView = [[UIImageView alloc] initWithImage:image];
[[self view] addSubview:imageView];
[scrollView setContentSize:[image size]];
[scrollView setMaximumZoomScale:2.0];
[scrollView setMinimumZoomScale: [scrollView bounds].size.width/[image size].width];
干杯加里。
嗨,马克,我在IB中设置了UIViewController,删除了视图并用UIScrollView替换了它。当我将fileOwner重新连接到新的UIScrollView时,我必须使用view来完成,这基本上是为什么后来编译器认为它是视图而不是scrollView。感谢您的提示,这很好地工作。 – fuzzygoat 2010-06-16 16:24:30