作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在添加一个新的 subview
self.editView = [[EditView alloc] initWithFrame:CGRectMake(0,0,320,296) WithImageView:self.mainImageView.image];
self.mainImageView.hidden=YES;
[self.view addSubview:self.editView];
新 View 是:
- (id)initWithFrame:(CGRect)frame WithImageView: (UIImage *) image
{
self = [super initWithFrame:frame];
if (self) {
self.panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)];
self.rotationRecognizer = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(handleRotation:)];
self.pinchRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(handlePinch:)];
self.tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
self.panRecognizer.cancelsTouchesInView = NO;
self.panRecognizer.delegate = self;
[self.frameView addGestureRecognizer:self.panRecognizer];
self.rotationRecognizer.cancelsTouchesInView = NO;
self.rotationRecognizer.delegate = self;
[self.frameView addGestureRecognizer:self.rotationRecognizer];
self.pinchRecognizer.cancelsTouchesInView = NO;
self.pinchRecognizer.delegate = self;
[self.frameView addGestureRecognizer:self.pinchRecognizer];
self.tapRecognizer.numberOfTapsRequired = 2;
[self.frameView addGestureRecognizer:self.tapRecognizer];
[self updateCropRect];
[self reset:NO];
self.retainedImage = image;
self.sourceImage = image;
self.imageView.image = self.previewImage;
if(self.previewImage != self.sourceImage) {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
CGImageRef hiresCGImage = NULL;
CGFloat aspect = self.sourceImage.size.height/self.sourceImage.size.width;
CGSize size;
if(aspect >= 1.0) { //square or portrait
size = CGSizeMake(kMaxUIImageSize*aspect,kMaxUIImageSize);
} else { // landscape
size = CGSizeMake(kMaxUIImageSize,kMaxUIImageSize*aspect);
}
hiresCGImage = [self newScaledImage:self.sourceImage.CGImage withOrientation:self.sourceImage.imageOrientation toSize:size withQuality:kCGInterpolationDefault];
// dispatch_async(dispatch_get_main_queue(), ^{
self.imageView.image = [UIImage imageWithCGImage:hiresCGImage scale:1.0 orientation:UIImageOrientationUp];
CGImageRelease(hiresCGImage);
// });
});
}
}
return self;
}
还有图像的自定义设置方法。
- (UIImage *)previewImage
{
if(_previewImage == nil && _sourceImage != nil) {
if(self.sourceImage.size.height > kMaxUIImageSize || self.sourceImage.size.width > kMaxUIImageSize) {
CGFloat aspect = self.sourceImage.size.height/self.sourceImage.size.width;
CGSize size;
if(aspect >= 1.0) { //square or portrait
size = CGSizeMake(kPreviewImageSize,kPreviewImageSize*aspect);
} else { // landscape
size = CGSizeMake(kPreviewImageSize,kPreviewImageSize*aspect);
}
_previewImage = [self scaledImage:self.sourceImage toSize:size withQuality:kCGInterpolationLow];
} else {
//self.previewImage = [self.sourceImage retain];
_previewImage = self.retainedImage;
}
}
return _previewImage;
}
我无法在 subview 中加载图像。我知道这些属性不会在 init 上设置。但我该如何设置它们。我尝试使用另一个属性retainedImage,并在其setter方法中将其分配给预览图像,但不起作用。
这是一个找到的自定义库 here
最佳答案
创建对象时,对象的属性将设置为 nil。如果您想将属性更改为其他值,可以在任何方法中设置它们。
您看不到该图像的可能原因有很多。
从你的描述来看,很难判断到底是哪一个原因。
关于ios - 在没有 Nib 的情况下在 subview 中加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15283717/
我正在开发一个需要能够平均三个数字的 Facebook 应用程序。但是,它总是返回 0 作为答案。这是我的代码: $y = 100; $n = 250; $m = 300; $number = ($y
我只是无法弄清楚这一点,也找不到任何对我来说有意义的类似问题。我的问题:我从数据库中提取记录,并在我的网页上以每个面板 12 条的倍数显示它们。因此,我需要知道有多少个面板可以使用 JavaScrip
我是一名优秀的程序员,十分优秀!