【问题标题】:How to overlay two images in ios6 with transparency如何在ios6中以透明度覆盖两个图像
【发布时间】:2014-03-20 08:01:55
【问题描述】:

我正在尝试叠加两个图像并将文本放在我拥有的视图的顶部。我在 ios7 中完美运行。这是结果的屏幕截图

现在渐变只是在我的布局中看到的另一个图像顶部的图像

这很好用,除非我在手机上使用 ios6 进行测试。然后一切都变得疯狂,就像这里看到的那样。 *我实际上已经删除了渐变层并再次运行应用程序,背景图像保持相同大小(大约是应有大小的一半)。

如您所见,背景图片只有应有的一半,第二张图片没有叠加。我已经为此工作了 5 个小时,但似乎找不到有效的解决方案。

这里是设置背景图片的代码

-(void) SetDetails
{
if(_curInfo)
{


    _lblTopName.text = _curInfo.company_name;
    if(!_curInfo.img)
    {
        showActivity(self);
        dispatch_queue_t aQueue1 = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
        dispatch_async(aQueue1, ^{
            _curInfo.img = getImageFromURL([NSString stringWithFormat:@"%@%@", g_serverUrl, _curInfo.imgPath]);
            dispatch_async(dispatch_get_main_queue(), ^{
                hideActivity();
                [_imgCompany setImage:_curInfo.img];
            });
        });
    }
    [_imgCompany setImage:_curInfo.img];



    /* FIX IMAGE SIZE */
    _imgCompany.contentMode=UIViewContentModeScaleAspectFill;
    CGRect photoFrame = _imgCompany.frame;
    photoFrame.size = CGSizeMake(320, 180);
    _imgCompany.frame=photoFrame;
    [_imgCompany setClipsToBounds:YES];


        _lblDistance.text = [NSString stringWithFormat:@"%.2f miles", _curInfo.distance];


    _lblReward.text=_curInfo.reward;

    CGFloat scrollViewHeight = 0.0f;
    for (UIView* view in scroller.subviews)
    {
        scrollViewHeight += view.frame.size.height;

    }

    [scroller setContentSize:(CGSizeMake(320, scrollViewHeight))];

}
}

非常感谢任何帮助。我也不反对在图像上绘制渐变。

附加信息:

这是我设置两个图像视图的方法。

【问题讨论】:

    标签: ios objective-c


    【解决方案1】:

    您需要取消图像视图上的“不透明”选项,因为它不是不透明的。

    至于另一个间距问题,我猜这是 iOS 7 视图控制器之间的不匹配,它们总是将 wantsFullScreenLayout 设置为 YES 但在 iOS 6 下默认设置为 NO。其余的您的图像可能位于导航栏下方。看起来您在尝试界面构建器,而在进行编程布局 - 为什么要在 FIX IMAGE SIZE 下添加代码,如果删除它会发生什么?

    【讨论】:

    • 嗨!谢谢回复。我取消选择不透明选项并收到相同的结果。如果我在FIX IMAGE SIZE 下取出代码,图像不会调整到我在界面生成器中设置的大小。相反,有些会比其他人高,并掩盖下面的文字。我希望图像始终保持相同的 320 x 180 大小,并调整图像大小以适应该空间。
    • 单独处理问题——如果您还禁用相关的自动调整大小,只需将剪辑设置为YES 的边界并进行缩放以填充应该消除修复图像大小的需要。您可能希望启用所有水平条,但仅垂直顶部的红色光束。这至少能解决问题的那个方面吗?
    • 它越来越近了,我想我可能在这里遗漏了一些基本的东西。在界面生成器中,我将图像设置为 320 x 180。移除底部的红色光束会使所有图像的尺寸相同(获胜),但由于某种原因它们的尺寸为 320x240。我没有启用自动布局,因为这个项目是在早期版本的 xCode 中构建的,并且打开它会导致我的所有屏幕出现很多问题。
    • 您是否启用了双头垂直箭头?如果启用了外部支柱,则视图的边缘将尝试与屏幕边缘保持该距离。如果启用了箭头(以前是弹簧),则视图将尝试与父级按比例缩放。
    • 谢谢!我一直在寻找每个人来尝试弄清楚那个布局框是如何工作的。这解决了我所有的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-21
    • 2013-02-25
    • 2017-11-18
    • 2018-10-02
    • 2013-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多