如何使用透明度在ios6中叠加两个图像

时间:2014-03-19 21:19:51

标签: ios objective-c

我正在尝试覆盖两个图像,并将文本放在我拥有的视图中。我在ios7中完美地工作了。以下是结果的屏幕截图

Desired Results

现在,渐变只是在我的布局

中看到的另一幅图像上方的图像

Layout

除了我用ios6在手机上测试时,这个功能很棒。然后一切都如此所见。 *我实际上删除了渐变图层并再次运行应用程序,背景图像保持相同的大小(大约应该是它的一半)。

Images messed up in 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))];

}
}

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

其他信息:

以下是我如何设置两个图像视图。

Gradient Image View

Background Image View

1 个答案:

答案 0 :(得分:1)

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

至于其他间距问题,我猜这是iOS 7视图控制器之间的不匹配,总是表现得好像wantsFullScreenLayout设置为YES但默认为NO在iOS 6下。图像的其余部分可能位于导航栏下方。看起来你正在尝试界面构建器和部分程序布局 - 你为什么要在FIX IMAGE SIZE下添加代码?如果删除它会发生什么?