标签: uiimageview

设置UIImageView的图像属性会导致严重滞后

让我告诉你我遇到的问题以及我是如何解决这个问题的.我有一个UIScrollView加载子视图,从左到右滚动.每个子视图有10-20张图像,每张400x200左右.当我从视图滚动到视图时,我经历了相当多的滞后.

在调查之后,我发现在卸下所有视图并再次尝试后,滞后消失了.我认为图像的同步缓存是滞后的原因.所以我创建了一个UIImageView的子类,它以异步方式加载图像.加载代码如下所示(self.dispatchQueue返回串行调度队列).

- (void)loadImageNamed:(NSString *)name {
    dispatch_async(self.dispatchQueue, ^{
        UIImage *image = [UIImage imageNamed:name];

        dispatch_sync(dispatch_get_main_queue(), ^{
            self.image = image;
        });
    });
}
Run Code Online (Sandbox Code Playgroud)

然而,在将我的所有UIImageViews更改为此子类后,我仍然经历了滞后(我不确定它是否被减少).我把问题的原因归结为self.image = image;.为什么这会导致这么多延迟(但仅限于第一次加载)?

请帮我.=(

performance asynchronous core-graphics uiimageview uiimage

22
推荐指数
1
解决办法
1万
查看次数

UIImageView + AFNetworking setImageWithURL带动画

使用AFNetworking,从服务器下载图像并放入UIImageView非常简单:

[imageView setImageWithURL:[NSURL URLWithString:@"http://i.imgur.com/r4uwx.jpg"] placeholderImage:[UIImage imageNamed:@"placeholder-avatar"]];
Run Code Online (Sandbox Code Playgroud)

如果我想用效果(可能是淡入淡出)替换图像怎么样?

这是因为我想制作带有大量图像的幻灯片.

objective-c uiimageview afnetworking

22
推荐指数
1
解决办法
3万
查看次数

如何为不同的屏幕尺寸设置不同的自动布局约束

我有一个带静态单元格的tableView.单元格包含一个完全填充它的ImageView.我还有另一个较小的ImageViews.我使用约束来定位这个ImageViews.我有一个关于调整约束的问题.如何在不编程if/else循环的情况下,如何为不同的设备大小设置不同的约束常量.有没有办法在故事板中设置它?我有一个主要布局的主要约束,例如,常数值为10.这对于iPhone 5屏幕是可以的,但在iPhone 6/6 plus屏幕上它应该高于10. iPhone5 Autolayout iPhone6 Autolayout

uitableview uiimageview ios swift ios-autolayout

22
推荐指数
2
解决办法
3万
查看次数

Xcode iPhone编程:从URL将jpg加载到UIImageView中

我的应用程序必须从http服务器加载图像并将其显示到UIImageView
我该怎么办?
我试过这个:

NSString *temp = [NSString alloc];
[temp stringwithString:@"http://192.168.1.2x0/pic/LC.jpg"]
temp=[(NSString *)CFURLCreateStringByAddingPercentEscapes(
    nil,
    (CFStringRef)temp,                     
    NULL,
    NULL,
    kCFStringEncodingUTF8)
autorelease];


NSData *dato = [NSData alloc];
 dato=[NSData dataWithContentsOfURL:[NSURL URLWithString:temp]];
 pic = [pic initWithImage:[UIImage imageWithData:dato]];
Run Code Online (Sandbox Code Playgroud)

此代码在视图的viewdidload中,但没有显示任何内容!服务器正在运行,因为我可以从中加载xml文件.但我不能显示那个图像!
我需要以编程方式加载图像,因为它必须根据传递的参数进行更改!先感谢您.安东尼奥

iphone url xcode objective-c uiimageview

21
推荐指数
2
解决办法
7万
查看次数

UIImage在一个圆圈

有人可以帮我吗?新的iPhone开发人员.我试图在一个圆圈中显示一个.png图片而不是一个矩形,这是iPhone的标准

iphone uiimageview uiimage

21
推荐指数
4
解决办法
4万
查看次数

在iOS上快速模糊

我在尝试模糊iOS应用中的部分屏幕时遇到了麻烦.请参阅图片以更好地了解我正在尝试做什么.

BlurBox

只有"BlurBox"的内容需要模糊,但其余内容可以清晰.因此,如果您正在查看表格视图,则只有BlurBox下方的内容会模糊(即使您滚动).其余的看起来很清楚.

我的第一个方法是调用UIGraphicsGetImageFromCurrentImageContext()每个.01s来将BlurBox下的所有图层组合成一个图像.然后模糊该图像并将其显示在所有内容上.

我尝试模糊的方法是:

https://github.com/tomsoft1/StackBluriOS

https://github.com/coryleach/UIImageAdjust

https://github.com/esilverberg/ios-image-filters

https://github.com/cmkilger/CKImageAdditions

[layer setRasterizationScale:0.25];
[layer setShouldRasterize:YES];
Run Code Online (Sandbox Code Playgroud)

以及一些自定义尝试.我也看过Apple的GLImageProcessing,但我认为对于我在这里尝试做的事情来说有点矫枉过正.

问题是,他们都是 减缓.该应用程序不在应用程序商店上,所以我愿意使用任何私有/未记录的框架.

我有一种很远的想法是覆盖drawRect我使用的所有组件(UITableViewCells,UITableView等)的方法,并在运行中独立模糊它们.然而,这需要一些时间,这听起来像是一个可行的选择吗?


更新:

我尝试使用CIFilters如下:

CIImage *inputImage = [[CIImage alloc] initWithImage:[self screenshot]];

CIFilter *blurFilter = [CIFilter filterWithName:@"CIGaussianBlur"];
[blurFilter setDefaults];
[blurFilter setValue: inputImage forKey: @"inputImage"];
[blurFilter setValue: [NSNumber numberWithFloat:10.0f]
                           forKey:@"inputRadius"];


CIImage *outputImage = [blurFilter valueForKey: @"outputImage"];

CIContext *context = [CIContext contextWithOptions:nil];

self.bluredImageView.image = [UIImage imageWithCGImage:[context createCGImage:outputImage fromRect:outputImage.extent]];
Run Code Online (Sandbox Code Playgroud)

这确实有效,但速度非常慢.:(

我发现只有当我传入从磁盘加载的图像时,某些实现才会模糊.如果我传入我使用UIGraphicsGetImageFromCurrentImageContext()它创建的UIImage 不起作用.关于为什么会这样的任何想法?


更新:

我试过如下的Patel建议:

CALayer *backgroundLayer …
Run Code Online (Sandbox Code Playgroud)

image core-graphics image-processing objective-c uiimageview

21
推荐指数
2
解决办法
4万
查看次数

调整UIImage的大小并更改UIImageView的大小

我有这个UIImageView,我有它的最大高度和最大宽度的值.我想要实现的是我想拍摄图像(具有任何宽高比和任何分辨率)并且我希望它适合边框,因此图片不会超过它们,但它可以根据需要缩小它们.(图中标记为红色):

在此输入图像描述

现在图像正确地适合所需的大小,但我有两个担忧:1.UIImageView不等于调整大小的图像的大小,因此留下红色背景(我不想要那样)2.如果图像小于我的高度UIImageView没有调整到更小,它保持相同的高度.

这是我的代码,我知道它的错误:

UIImage *actualImage = [attachmentsArray lastObject];
UIImageView *attachmentImageNew = [[UIImageView alloc] initWithFrame:CGRectMake(5.5, 6.5, 245, 134)];
attachmentImageNew.image = actualImage;
attachmentImageNew.backgroundColor = [UIColor redColor];
attachmentImageNew.contentMode = UIViewContentModeScaleAspectFit;
Run Code Online (Sandbox Code Playgroud)

那么,如何动态改变大小不仅的UIImageView.image,但整体的UIImageView,从而使得它的尺寸完全可调的内容.任何帮助将不胜感激,谢谢!

iphone cocoa-touch objective-c uiimageview ios

21
推荐指数
3
解决办法
9万
查看次数

UITableView中的动态UIImageView大小

我想用一个显示图像的Custom TableViewCell实现一个TableView.

为了简单起见,我简单地使用autolayout将UIImageView放在tableviewcell中(如下图所示). 在此输入图像描述

我想要的是在UIImageView中显示图像,但是那些图像尺寸可以是任何东西并且是不一致的(肖像,风景,方形)......

因此,我希望显示具有固定宽度(设备宽度)的图像和相对于图像比例的动态高度.我想要这样的东西:
在此输入图像描述

遗憾的是,我无法达到这一结果.

以下是我实现它的方式 - (我使用Haneke从URL加载图像 - 存储在Amazon S3中的图像):

class TestCellVC: UITableViewCell {

    @IBOutlet weak var selfieImageView: UIImageView!
    @IBOutlet weak var heightConstraint: NSLayoutConstraint!

    func loadItem(#selfie: Selfie) {        
        let selfieImageURL:NSURL = NSURL(string: selfie.show_selfie_pic())!

        self.selfieImageView.hnk_setImageFromURL(selfieImageURL, placeholder: nil, format: HNKFormat<UIImage>(name: "original"), failure: {error -> Void in println(error)
            }, success: { (image) -> Void in
                // Screen Width
                var screen_width = UIScreen.mainScreen().bounds.width

                // Ratio Width / Height
                var ratio =  image.size.height / image.size.width

                // Calculated Height for the picture
                let newHeight …
Run Code Online (Sandbox Code Playgroud)

uitableview uiimageview ios autolayout swift

21
推荐指数
3
解决办法
2万
查看次数

在iOS 6上使用Auto Layout在ScrollView中嵌入ImageView

我正在尝试使用具有自动布局的新iOS 6 SDK制作非常简单的元素.我有一个ImageView并将其嵌入ScrollView中.(一切都使用Interface Builder构建)..png文件已设置,imageView模式设置为"左上角".

执行:

#import "ImaginariumViewController.h"

@interface ImaginariumViewController ()
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@end

@implementation ImaginariumViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.scrollView.contentSize = self.imageView.image.size;
    self.imageView.frame =
    CGRectMake(0, 0, self.imageView.image.size.width, self.imageView.image.size.height);
}

@end
Run Code Online (Sandbox Code Playgroud)

当我运行应用程序时,图像不会滚动.关闭自动布局(使用支柱和弹簧)完成所有操作后,我正在进行滚动操作.我猜问题是限制.请问有人帮帮我吗?

objective-c uiscrollview uiimageview autolayout ios6

20
推荐指数
2
解决办法
1万
查看次数

在将contentMode设置为UIViewContentModeScaleAspectFit时,如何设置UIImageView左对齐或右对齐?

我想用时控制图像排列UIViewContentModeScaleAspectFitUIImageView.

在此输入图像描述

例如,我有两个UIImageView一个视图如上所述.这两个UIImageView的contentMode是UIViewContentModeScaleAspectFit.现在我想将图像3设置为右对齐,将图像4设置为左对齐,以便这两个图像可以在一起.

我尝试将contentMode设置为UIViewContentModeScaleAspect|UIViewContentModeLeft,但它会让事情变得更糟.

任何建议表示赞赏.

uiview uiimageview uiimage ios

20
推荐指数
3
解决办法
2万
查看次数