我通过segue
(房间照片的名称、描述和名称)传递一些数据
我现在想将图像设置为a scrollView
,以便用户可以滚动全景图片。
我得到了图像的正确 URL,但我没有将图像放入 scrollView。
我的代码是这样的:
#import "RoomsDetailVC.h"
#import "RoomsViewController.h"
@interface RoomsDetailVC ()
@property (strong, nonatomic) IBOutlet UIScrollView *scrollView;
@property (strong, nonatomic) UIImageView *imageView;
@end
@implementation RoomsDetailVC
@synthesize roomName;
@synthesize priceLabel;
@synthesize descriptionLabel;
@synthesize roomImageString;
- (void)viewDidLoad {
[super viewDidLoad];
self.roomName.title = [self.roomNameString description];
self.priceLabel.text = [self.priceLabelString description];
self.descriptionLabel.text = [self.descriptionLabelString description];
[self.scrollView addSubview:_imageView];
[self setImage];
}
- (void)setImage {
if (self.scrollView) {
NSString *imageName = [self.roomImageString description];
NSURL *imageURL = [[NSBundle mainBundle] URLForResource:imageName withExtension:@"png"];
NSData *imageData = [[NSData alloc] initWithContentsOfURL:imageURL];
UIImage *image = [[UIImage alloc] initWithData:imageData];
if (image) {
self.scrollView.zoomScale = 1.0;
self.scrollView.contentSize = image.size;
self.imageView.image = image;
self.imageView.frame = CGRectMake(0, 0, image.size.width, image.size.height);
NSLog(@"image: %@", imageURL);
} else {
NSLog(@"no image");
}
}
}
- (UIImageView *)imageView {
if (!_imageView) _imageView = [[UIImageView alloc] initWithFrame:CGRectZero];
return _imageView;
NSLog(@"imageView");
}
@end
NSLog 结果self.scrollView.description
是这样的:
scrollView: <UIScrollView: 0x1c114410; frame = (20 268; 280 160); clipsToBounds = YES; autoresize = RM+TM; gestureRecognizers = <NSArray: 0x1c114a10>; layer = <CALayer: 0x1c114660>; contentOffset: {0, 0}>
`self.imageView.description 的 NSLog 结果是这样的:
imageView: <UIImageView: 0x1c115e90; frame = (0 0; 516 160); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x1c113160>>