标签: uiimageview

在UIImageView中两个图像之间转换的最佳方法

我已经实现了一个非常简单的图片查看器,允许用户浏览图像集合.它们从Internet加载,并通过UIImageView对象显示在设备上.像这样的东西:

UIImage *image = [[UIImage alloc] initWithData:imageData];
[img setImage:image];
Run Code Online (Sandbox Code Playgroud)

imageDataNSData我用来从URL加载图像内容imgUIImageView实例,并且是实例.

这一切都运行良好,但新图像替换之前显示的图像没有任何过渡,我想知道是否有一个简单的方法来做一个良好的动画过渡,以改善用户体验.

知道怎么做吗?代码样本将非常感激.

objective-c uiimageview ios

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

如何查看.img文件?

我正在尝试查找软件来查看.img文件.但这不是预期的..img文件不是所有图像,它也包含一些值.所以我想查看.img文件.请告知任何类似的软件.

image image-processing uiimageview

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

使用autolayout在UIScrollView中缩放UIImageView

我在UIScrollView中嵌入了UIImageView,在iOS 6和autolayout之前,我在控制器的viedDidLoad方法中使用了以下代码段来显示可滚动和可缩放的图像.

self.scrollView.contentSize = self.imageView.image.size;
self.imageView.frame = CGRectMake(0, 0, self.imageView.image.size.width, self.imageView.image.size.height);
Run Code Online (Sandbox Code Playgroud)

但现在使用故事板中设置的约束.我发现这个问题在iOS 6上使用自动布局在ScrollView中嵌入ImageView,其他一些在SO中说明在viewDidLoad之后加载/强制执行约束,并且将我之前的代码片段移动到viewDidAppear会解决此问题,但缩放不能正常工作似乎在缩放到缩放手势后,scrollView和imageView的大小会重置为storyboard的约束.

我只是在猜测,但我认为可能有一些方法可以覆盖scrollView和imageView在可能有效的代码中的垂直和水平空间约束.

其他人有这个问题吗?

uiscrollview uiimageview autolayout ios6

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

动画增长/减小尺寸imageView iOS

我正在尝试使用CGAffineTransformMakeScale为自定义按钮设置动画,如下所示:

if (stateButton == 0) { //The button is gonna appear

    self.selected = YES;

    self.imageView.transform = CGAffineTransformMakeScale(0.01, 0.01);

    [UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
        // animate it to the identity transform (100% scale)
        self.imageView.transform = CGAffineTransformIdentity;
    } completion:nil];

}
else if (stateButton ==1) { //The button is gonna disappear


    self.imageView.transform = CGAffineTransformMakeScale(1, 1);

    [UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
        // decrease button
        self.imageView.transform = CGAffineTransformMakeScale(.01, .01);
    } completion:^(BOOL finished){

        self.selected = NO;
    }];
}   
Run Code Online (Sandbox Code Playgroud)

按钮完美地增长到原始大小,但是,我不知道原因,但是当我点击按钮减少它时,它从原始尺寸大100%的尺寸减小到原始尺寸,而不是开始如我在代码中所示,原始尺寸减小并达到0.01的标度.

请帮忙!!

uiimageview cgaffinetransform ios cgaffinetransformscale

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

iOS:带边框的圆角矩形颜色

我画圆形的头像图片,只把它运用cornerRadiusUIImageView的层,并且还通过添加边框borderWithborderColor.像这样:

self.layer.masksToBounds = YES;
self.layer.cornerRadius = imageDimension / 2.f;
self.layer.borderWidth = 1.f;
self.layer.borderColor = borderColor.CGColor;
Run Code Online (Sandbox Code Playgroud)

这很有效,除了边界外的这种微小但明显的内容出血,如下所示:

面膜和边框外的内容出血

有没有办法让边界开始几个1/10点,或者插入的内容多于边界?


感谢FelixLam,我提出了一个很好的解决方案,并将其留在这里为后世界:

@interface MMRoundImageViewWithBorder : UIView

- (id)initWithImage:(UIImage *)image borderWidth:(CGFloat)borderWidth;

@property (strong, nonatomic) UIImageView *imageView;
@property (assign, nonatomic) CGFloat borderWidth;
@property (strong, nonatomic) UIColor *borderColor;

@end

@implementation MMRoundImageViewWithBorder

- (id)initWithImage:(UIImage *)image borderWidth:(CGFloat)borderWidth {
    if (self = [super init]) {
        self.borderWidth = borderWidth;
        self.borderColor = UIColor.whiteColor;

        self.imageView = [[UIImageView alloc] initWithImage:image];
        [self addSubview:self.imageView];

        self.imageView.layer.masksToBounds = YES; …
Run Code Online (Sandbox Code Playgroud)

calayer uiimageview ios

19
推荐指数
1
解决办法
5217
查看次数

UIScrollView幻像子视图

我正在使用以下命令从nib文件加载视图:

NSArray *nibViews = [[NSBundle mainBundle] loadNibNamed:@"AnalysisView" owner:self options:nil];
AnalysisView *gridView = [nibViews objectAtIndex: 0];
Run Code Online (Sandbox Code Playgroud)

nib包含一个名为gridScrollView的scrollview,在AnalysisView实现文件中,我有一个方法可以将视图作为子视图添加到scrollview:

for (NSInteger i = [results count] -1; i >= 0; i--) 
{
    Result *result = [results objectAtIndex:i];
    [self loadResult: result];
}

- (void) loadResult: (Result *) result
{
    NSArray *nibViews = [[NSBundle mainBundle] loadNibNamed:@"GridView" owner:self options:nil];
    GridView *gridView = [nibViews objectAtIndex: 0];
    gridView.tag = self.graphCount;

    CGRect gridFrame = gridView.frame;

    CGFloat yOffset = gridFrame.size.height * self.graphCount;
    gridView.frame = CGRectMake(0, yOffset, gridFrame.size.width, gridFrame.size.height);

    [self.gridScrollView addSubview: gridView]; …
Run Code Online (Sandbox Code Playgroud)

uiscrollview uiimageview ios

18
推荐指数
1
解决办法
5292
查看次数

有没有办法在Interface Builder/storyboard中自动调整UIImageView的大小?

在故事板或界面构建器中为uiimageview设置图像时,它会保留原始UIImageView图像的形状,这意味着图像本身完全失真.

为了匹配UIImageView其图像的大小,我必须手动输入文件检查器的大小.

有没有一种方法UIImageView可以自动检测其图像的原始大小并相应地调整其自身的大小?

xcode objective-c uiimageview

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

ImageView适合不拉伸图像

是否有可能我的ImageView所有屏幕尺寸都适合没有图像看起来拉伸?

我尝试使用fill_parent> 将所有比例类型更改为背景和srcwrap_content

但仍然.如果图像不小,它只是看起来拉伸..

例:

<ImageView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:scaleType="centerInside"
    android:adjustViewBounds="true"
    android:background="@drawable/background" />

<ImageView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:scaleType="fitXY"
    android:adjustViewBounds="true"
    android:background="@drawable/background" />
Run Code Online (Sandbox Code Playgroud)

这两个适合宽度,但图像被拉伸..但当我将其更改为src时,图像只是居中和小.

android uiimageview imageview android-layout

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

如何旋转UIImage

我正在为iPad开发iOS应用程序.有没有办法旋转UIImage90º然后将其添加到UIImageView?我尝试了很多不同的代码,但都没有工作......

谢谢!

objective-c uiimageview uiimage ipad ios6

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

更改UIImageView大小以使图像与AutoLayout匹配

我想改变我的UIImageView高度/宽度以匹配我从相册中选择的图像,我在这里找到了一个代码片段.

-(CGRect)frameForImage:(UIImage *)imgs inImageViewAspectFit:(UIImageView *)imagev
{
  float imageRatio = imgs.size.width / imgs.size.height;
  float viewRatio = imagev.frame.size.width / imagev.frame.size.height;
  if(imageRatio < viewRatio)
  {
    float scale = imagev.frame.size.height / imgs.size.height;
    float width = scale * imgs.size.width;
    float topLeftX = (imagev.frame.size.width - width) * 0.5;
    NSLog(@"image after aspect fit: width=%f",width);
    imagev.frame = CGRectMake(topLeftX, 0, width, imagev.frame.size.height);
    return CGRectMake(topLeftX, 0, width, imagev.frame.size.height);
  }
  else
  {
    float scale = imagev.frame.size.width / imgs.size.width;
    float height = scale * imgs.size.height;
    float topLeftY = (imagev.frame.size.height - height) * …
Run Code Online (Sandbox Code Playgroud)

uiimageview ios autolayout ios6

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