标签: uiimageview

UIImageView在设备上的启动屏幕中丢失图像

我有一个支持iOS8及更高版本的应用程序,内置Xcode 7,我使用XIB作为启动屏幕(我没有启动图像).该视图包含一个带有应用程序版本的UILabel,以及两个带有图像的UIImageViews,这两个图像都存在于Images.xcassets中:一个徽标和一个启动图像.

启动应用程序时,UILabel和徽标图像显示正确,但如果我在带有iOS9的iPad Air 2上运行应用程序,则不会显示启动图像.我已经在Air和Mini上测试过运行iOS8,以及适用于iPad 2,iPad Air和iPad Air 2的iOS9模拟器,所有这些都能正确显示图像.

我跑了一些基本的故障,看看我能想出是怎么回事,但我一直没能解决这个问题,我可以说的工作的形象而这失败的一个之间看到的唯一区别是,当我把它添加到资产...

这是我所知道的简要说明:

  • 启动图像的UIImageView位于正确的位置,大小正确.我可以告诉这个,因为我将它的背景颜色设置为绿色只是为了确保.视图在那里,但图像不会出现.所以我假设这个观点不应该受到责备.

  • 将启动图像的UIImageView设置为也使用徽标图像可使徽标图像显示在视图的正确位置.这也让我认为这个观点不应该受到指责.

  • 我在启动图像视图中使用的UIImage在应用程序的其他地方使用,在其他视图中显示得很好(徽标图像也在应用程序的其他地方使用,看起来很好).所以我假设图像有效并且让它出现在其他视图中不是问题.

  • 我已经确认xcassets文件中徽标和启动的UIImages设置是相同的.它们设置为通用,任意宽度和高度,多个比例因子,默认呈现.有一个区别 - 徽标有1x,2x和3x刻度,而初始图像只有1x和2x,但我也试过在UIView中只使用1x,1x和2x值的UIImages它们可以工作(如果它们是不久前加入了该项目).

  • 将另一个不同大小或格式的图像(PNG和JPG)添加到我的xcassets并在UIImageView中使用该UIImage作为启动图像也无法显示.

  • 将另一个UIImageView添加到XIB文件并为其分配已在xcassets中运行的UIImage,图像将显示在加载屏幕中.

  • 复制和重命名用于徽标的图像文件并将其添加到项目中,然后在启动视图中使用该UIImage也无法显示.

  • 我已经尝试清理项目,重新启动开发机器,并从Air 2中删除应用程序并重新安装它以防万一出现问题.

最后三个步骤让我相信,在项目文件的生命周期中的某个点之后添加图像存在一些问题.虽然我昨天更新到Xcode 7,但最初在Xcode 6中添加了启动图像,但几个月前添加了徽标图像(也在Xcode 6中添加).

我查看了json文件中的徽标图像和启动图像,它们看起来格式相同.我还浏览了pbxproj文件,寻找差异,我看不到任何差异.

所以我想知道是否有人知道为什么发射屏幕可能无法显示我在Air 2上特别添加的这些新图像?我一直在阅读的有关未出现的图像的其他问题似乎与启动图像或与具有关联类的XIB文件中的图像有关,这两者似乎都不相关.

objective-c uiimageview uiimage ios launch-screen

296
推荐指数
16
解决办法
7万
查看次数

如何动画UIImageView中的图像变化?

我有一个带图像的UIImageView.现在我有一个全新的图像(图形文件),并希望在这个UIImageView中显示它.如果我只是设置

myImageView.image = newImage;
Run Code Online (Sandbox Code Playgroud)

新图像立即可见.不可动画.

我希望它能很好地淡出新图像.我想也许有更好的解决方案,而不仅仅是创建一个新的UIImageView并与动画混合?

iphone animation uiimageview uiimage ios

180
推荐指数
11
解决办法
12万
查看次数

UIImageView上的UIGestureRecognizer

我有一个UIImageView,我希望能够调整大小和旋转等.

可以UIGestureRecognizer添加到UIImageView

我想UIImageView在运行时创建一个旋转和捏合识别器.

如何添加这些识别器?

objective-c uiimageview uigesturerecognizer ios

176
推荐指数
5
解决办法
10万
查看次数

如何在Swift中为UIImageView对象分配一个动作

UIImageView当用户点击它时,我正在尝试分配一个动作.

我知道如何为a创建一个动作UIButton,但我怎么能模仿a的相同行为UIButton,但是使用UIImageView

uiimageview ios swift

175
推荐指数
7
解决办法
14万
查看次数

UIImageView方面适合和中心

我有一个图像视图,以编程方式声明,我也以编程方式设置其图像.

但是,我发现自己无法将图像设置为适合方面并将中心与图像视图对齐.

换句话说,我希望图像:

  • 如果图像很大,缩小以适合方面.
  • 如果图像很小,则居中但不放大.

我怎么做到的?

objective-c uiimageview uiimage ios

168
推荐指数
9
解决办法
26万
查看次数

更改UIImageView图像时淡化/溶解

而不是创建两个UIImageViews,简单地改变image一个视图似乎是合乎逻辑的.如果我这样做,那么两个图像之间是否有淡入淡出/交叉消解而不是即时切换?

cocoa-touch objective-c uiimageview ios swift

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

UIViewContentModeScaleAspectFill不剪切

我正在尝试使用固定大小(100x100)绘制一些缩略图UIImageView.我已将图像视图的帧大小设置为100x100,并将其设置contentModeUIViewContentModeScaleAspectFill.

我的理解是,这应该导致图像以我设置的尺寸绘制,并且图像将填充图像的区域,并剪切图像的任何超出我为图像视图设置的尺寸的部分.但是,图像仍然比我为其设置的100x100尺寸更大或更小.

如果我设置contentModeUIviewContentModeScaleToFill,那么图像将以100x100的精确度绘制,但它会扭曲以适应这些尺寸.任何想法为什么方面填充不按预期剪切?

这是我的代码:

_photoView = [[UIImageView alloc] initWithImage:photoImage];
_photoView.contentMode = UIViewContentModeScaleAspectFill;
[self addSubview:_photoView];

CGRect photoFrame = _photoView.frame;
photoFrame.size = CGSizeMake(100, 100);
_photoView.frame = photoFrame;
Run Code Online (Sandbox Code Playgroud)

为了更好地说明,这是我所看到的截图.绿色方块UIView包含UIImageView我正在使用的内容.我将它们的背景颜色设置为绿色,并将视图的帧设置为100x100.作为测试,UIImageViews尺寸为50x50.如您所见,使用时...AspectFill,图像的大小不会达到50x50,在某些情况下会偏离我喜欢的位置.使用时...ScaleToFill,它们的尺寸正确,但图像失真.

截图说明问题

uiimageview ios

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

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

UIScrollView的中心内容较小时

我有一个UIImageView内部UIScrollView用于缩放和滚动.如果滚动视图的图像/内容大于滚动视图,则一切正常.但是,当图像变得小于滚动视图时,它会粘在滚动视图的左上角.我想让它保持中心,就像照片应用程序一样.

任何关于在UIScrollView较小时保持居中内容的想法或例子?

我正在使用iPhone 3.0.

以下代码几乎可以使用.如果在达到最小缩放级别后将其捏住,图像将返回到左上角.

- (void)loadView {
    [super loadView];

    // set up main scroll view
    imageScrollView = [[UIScrollView alloc] initWithFrame:[[self view] bounds]];
    [imageScrollView setBackgroundColor:[UIColor blackColor]];
    [imageScrollView setDelegate:self];
    [imageScrollView setBouncesZoom:YES];
    [[self view] addSubview:imageScrollView];

    UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"WeCanDoIt.png"]];
    [imageView setTag:ZOOM_VIEW_TAG];
    [imageScrollView setContentSize:[imageView frame].size];
    [imageScrollView addSubview:imageView];

    CGSize imageSize = imageView.image.size;
    [imageView release];

    CGSize maxSize = imageScrollView.frame.size;
    CGFloat widthRatio = maxSize.width / imageSize.width;
    CGFloat heightRatio = maxSize.height / imageSize.height;
    CGFloat initialZoom = (widthRatio > …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c uiscrollview uiimageview ios

136
推荐指数
9
解决办法
7万
查看次数

如何以编程方式更改UIImageView中显示的图像?

我有IBOutlet一个UIImageView,但是当我查看UIImageView文档时,我看不到有关以编程方式更改它的任何提示.我必须从中获取一个UIImage对象UIImageView吗?

uiimageview ios

133
推荐指数
11
解决办法
27万
查看次数