标签: uiimageview

animateWithDuration立即完成

我知道很多人都问了同样的问题,但是所提出的解决方案似乎都不相关,所以我再问:我有以下代码块:

UIImageView *moneyHolder = [[UIImageView alloc] initWithImage:moneyImage];    
if([paymentMethod.viewed intValue] == 0){
            //CGRect targetFrame = CGRectMake(0, cell.frame.size.height/2-3, cell.frame.size.width, targetHeight);
            CGRect targetFrame = moneyHolder.frame;
            targetFrame.origin.y = cell.frame.size.height/2-3;
            NSLog(@"animating");
            [UIView animateWithDuration:2
                                  delay:0
                                options: UIViewAnimationCurveEaseOut
                             animations:^{
                                 moneyHolder.frame = targetFrame;
                             } 
                             completion:^(BOOL finished){
                                 NSLog(@"done");
                             }
            ];
        }
Run Code Online (Sandbox Code Playgroud)

我认为应该动画我的moneyHolder框架.不幸的是,这似乎是立即发生,而不是持续2秒.我可以通过日志中的时间戳验证这一点:

2012-05-11 03:41:50.102 AgilePoet [5824:15203]动画
2012-05-11 03:41:50.116 AgilePoet [5824:15203]完成

有没有人对为什么会发生这种情况有任何想法?关于这个主题的所有其他问题都集中在不可动画的属性上,但我知道一个imageview框架是有生命力的.我唯一能想到的是这段代码写在我的内部

-tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath method. 
Run Code Online (Sandbox Code Playgroud)

提前致谢!

core-animation objective-c uiview uiimageview ios

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

在Xcode 9上,约束到边距不能正常工作

我试图从侧面(左侧和右侧)向UIImageView设置约束"0"但是当我添加约束条件并选中"Constrain to margin"时,它会将图像一直固定到ViewController的边缘虽然它应该保持一定的距离,为什么会发生这种情况?

uiimageview swift xcode9

16
推荐指数
1
解决办法
2686
查看次数

从旋转的UIImageView创建UIImage

我有一个UIImageView,里面有一个图像.我通过将UIImageView的transform属性设置为CGAffineTransformMakeRotation(angle),在显示之前旋转了图像,其中angle是以弧度表示的角度.

我希望能够创建另一个UIImage,它对应于我在视图中可以看到的旋转版本.

我几乎在那里,通过旋转图像上下文我得到一个旋转的图像:

- (UIImage *) rotatedImageFromImageView: (UIImageView *) imageView
{
    UIImage *rotatedImage;

    // Get image width, height of the bounding rectangle
    CGRect boundingRect = [self getBoundingRectAfterRotation: imageView.bounds byAngle:angle];

    // Create a graphics context the size of the bounding rectangle
    UIGraphicsBeginImageContext(boundingRect.size);
    CGContextRef context = UIGraphicsGetCurrentContext();

    // Rotate and translate the context
    CGAffineTransform ourTransform = CGAffineTransformIdentity;
    ourTransform = CGAffineTransformConcat(ourTransform, CGAffineTransformMakeRotation(angle));

    CGContextConcatCTM(context, ourTransform);

    // Draw the image into the context
    CGContextDrawImage(context, CGRectMake(0, 0, imageView.image.size.width, imageView.image.size.height), imageView.image.CGImage);

    // Get an image from the …
Run Code Online (Sandbox Code Playgroud)

rotation uiimageview uiimage graphicscontext

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

如何检查NSData是否对UIImage中的使用有效

NSError *error = nil;
NSURL *url = [NSURL URLWithString:[imageLinks objectAtIndex:0]];
NSData *tdata = [NSData dataWithContentsOfURL:url options:NSDataReadingUncached error:&error];
if (error) {
    NSLog(@"%@", [error localizedDescription]);
}else {
    // no error, this one is being called within my app
    NSLog(@"Data loaded successfully");
}
self.pictureView1.image = [UIImage imageWithData:tdata];
Run Code Online (Sandbox Code Playgroud)

我有一个jpeg文件,我可以确认URL内容是成功收集的,但是当我尝试将我的图像数据放入UIImage我的应用程序失败时.我想知道是否有任何NSData检查确认它可用UIImage.

我也不知道导致这种失败的原因,以及如何防止它.任何帮助,将不胜感激.

iphone objective-c uiimageview uiimage ios

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

捏缩放效果在scrollView内的UIImageView上?

我正在使用storyboard(iOS 6.0)为我的应用程序创建照片库查看器.这就是我在storyboard中设置imageViewController的方法:

在此输入图像描述

我已经确保在imageView和scrollView上启用userInteraction和多次触摸.我想要做的是,在捏时我想放大到imageView(最大比例3)并且能够平移.这是我目前所拥有的,然而,即使检测到捏合手势,比例也不会改变.

- (IBAction)imagePinched:(id)sender {

if (pinchRecognizer.state == UIGestureRecognizerStateEnded || pinchRecognizer.state == UIGestureRecognizerStateChanged) {

    NSLog(@"gesture.scale = %f", pinchRecognizer.scale);

    CGFloat currentScale = self.fullScreenView.frame.size.width / self.fullScreenView.bounds.size.width;
    CGFloat newScale = currentScale * pinchRecognizer.scale;

    if (newScale < 1) {
        newScale = 1;
    }
    if (newScale > 3) {
        newScale = 3;
    }

    CGAffineTransform transform = CGAffineTransformMakeScale(newScale, newScale);
        self.fullScreenView.transform = transform;
        pinchRecognizer.scale = 1;
    }

}
Run Code Online (Sandbox Code Playgroud)

大多数在线问题和教程处理以编程方式创建视图并执行此操作,但代码越少越好(在我看来).什么是让它与故事板一起使用的最佳方法?先感谢您!!!


更新:

这是我的完整.m文件代码:

- (void)viewDidLoad
{
    [super viewDidLoad];

    //Assign an image to this controller's imageView
    fullScreenView.image = [UIImage …
Run Code Online (Sandbox Code Playgroud)

objective-c uiscrollview uiimageview ios pinchzoom

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

如何在ios中动态创建中重复图像

任何人都可以帮我,我希望水平多次添加相同的图像,高度和宽度相同.重要的是我正在动态创建图像视图我想为所有图像使用相同的图像视图!这是图像在此输入图像描述 我想像这样横向制作 在此输入图像描述 但是这样只需要一行.

iphone objective-c uiimageview ios dynamic-image-generation

15
推荐指数
1
解决办法
8464
查看次数

iOS 7中UIImageview的新tintColor属性可以用于动画图像吗?

tintColor是一个救生员,它需要应用主题到一个全新的(简单)级别.

//the life saving bit is the new UIImageRenderingModeAlwaysTemplate mode of UIImage
UIImage *templateImage = [[UIImage imageNamed:@"myTemplateImage"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
imageView.image = templateImage;

//set the desired tintColor
imageView.tintColor = color;
Run Code Online (Sandbox Code Playgroud)

上面的代码将根据UIImageview的色调颜色"绘制"图像的非透明部分,这非常酷.不需要像这样简单的核心图形.

我面临的问题是动画.

继续上述代码:

//The array with the names of the images we want to animate
NSArray *imageNames = @[@"1",@"2"@"3"@"4"@"5"];

//The array with the actual images
NSMutableArray *images = [NSMutableArray new];
for (int i = 0; i < imageNames.count; i++)
{
    [images addObject:[[UIImage imageNamed:[imageNames objectAtIndex:i]] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]];
}

//We set the animation images of …
Run Code Online (Sandbox Code Playgroud)

animation objective-c uiimageview tintcolor ios

15
推荐指数
1
解决办法
6679
查看次数

如何在Xcode中以编程方式创建UIImageView

我只想以编程方式创建一个UIImageView,在点(50,50)处显示20by20点.(点的图像称为draw.png).出于某种原因,屏幕上没有显示任何内容.

继承我的代码:

- (void)viewDidLoad
{
UIImageView *dot =[[UIImageView alloc] initWithFrame:CGRectMake(50,50,20,20)];
dot.image=[UIImage imageNamed:@"draw.png"];
[self.view addSubview:dot];


[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib
}
Run Code Online (Sandbox Code Playgroud)

xcode uiimageview

15
推荐指数
2
解决办法
5万
查看次数

如何使autolayout覆盖UIImageView的内在大小?

我遇到了自动布局的问题,我的详细信息视图在UISplitViewController.我的视图层次结构包含UIImageView带有装饰元素的视图,图像视图的内在大小似乎搞砸了其余控件的布局.

这些是我为图像视图指定的约束:

H:[UIImageView:0xc83ba90]-(NSSpace(20))-|
H:|-(NSSpace(20))-[UIImageView:0xc83ba90]
UIImageView:0xc83ba90.bottom == UITextField:0xc83d2d0.bottom
V:[UIImageView:0xc83ba90 (3)]>,
H:[UIImageView:0xc83ba90 (532)] Hug:1 CompressionResistance:750
V:[UIImageView:0xc83ba90 (2)] Hug:250 CompressionResistance:750
Run Code Online (Sandbox Code Playgroud)

我想要的行为是调整图像视图的大小以填充其超级视图,如前两个约束所述.我看到的实际行为是图像视图仅占用由其内在大小约束描述的水平空间.它似乎也在改变其所有兄弟视图的布局,就好像superview只是在与图像视图一样宽的矩形中布局视图.

我认为指定图像视图的拥抱优先级尽可能低会让其他约束覆盖它以调整图像视图的大小.我在这做错了什么?

uiimageview uisplitviewcontroller ios autolayout

15
推荐指数
1
解决办法
2427
查看次数

图像下载后更新单元格高度

我正在显示一些文本和图像UITableView.首先下载图像.从图像下载之前,我不知道图像的大小,所以我最初放了UIImageView一些固定的大小.当下载图像时,我调整了大小UIImageView.

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

// Download image

    dispatch_async(dispatch_get_main_queue(), ^{

    // UIImageView resizing  
    });  
});
Run Code Online (Sandbox Code Playgroud)

所有这些都发生在cellForRowAtIndexPath.
我在这里
遇到的问题是:1.如何更新细胞的高度?考虑到单个单元格中可能存在许多图像.所以我需要在下载时更改底部图像的位置.
2.我尝试使用UITableView beginUpdatesendUpdates,但滚动到单元格的顶部,给用户带来糟糕的体验.

这就是uload在reloadData上的样子.有5个图像需要下载:UITableView reloadData之后的UI体验

uitableview uiimageview grand-central-dispatch ios

15
推荐指数
1
解决办法
7710
查看次数