调整UIView的大小

GPP*_*GPP 7 sdk xcode objective-c uiview

我正在尝试调整属于tapjoy SDK的UIView实例.

这是代码:

- (UIView*)showFeaturedAppFullScreenAd:(NSString*)adURL withFrame:(CGRect)frame
{
    UIView *fullScreenAdView = nil;

    [self moveViewToFront];

    [self.view setAlpha:1];

    fullScreenAdView = [TJCFeaturedAppViewHandler showFullScreenAdWithURL:adURL withFrame:frame];
    [self.view addSubview:fullScreenAdView];

    return fullScreenAdView;
}
Run Code Online (Sandbox Code Playgroud)

我尝试在上面的方法中添加自己的setter方法:

fullScreenAdView.frame = CGRectOffset(fullScreenAdView.frame, 50, 500);
Run Code Online (Sandbox Code Playgroud)

但是当我运行时,它对tapjoy广告没有任何影响.

我的问题是:我正在尝试调整此实例的大小,以便不占用100%的设备窗口,而是占用(比方说)70%.

我有一些想法如何做到这一点,但它们很模糊(比如写fullScreenAdView = [mainScreen*0.7f),但我希望有人会有更具体的想法.

编辑:这是我的情况的超级高科技图片. http://i207.photobucket.com/albums/bb289/teh_Mac/tjAd-1.jpg

这是我到目前为止提出的原型方法:

fullScreenAdView.frame = CGRectMake(0,0, [mainScreen * 0.7f], [mainScreen * 0.7f];
Run Code Online (Sandbox Code Playgroud)

Jam*_*B41 5

为什么不使用CGRectMake并将其作为superview的百分比?

float percentage = .7f;  //whatever you like
int xPosition = fullScreenAdView.superview.frame.size.width * ((1 - percentage) / 2);
int yPosition = fullScreenAdView.superview.frame.size.height * ((1 - percentage) / 2);

int width = fullScreenAdView.superview.frame.size.width * (1 - percentage);
int height = fullScreenAdView.superview.frame.size.height * (1 - percentage);

fullScreenAdView.frame = CGRectMake(xPosition, yPosition, width, height);
Run Code Online (Sandbox Code Playgroud)

这是我的头脑,但我想稍微调整它会做你想要的.

  • 嘿,谢谢你的答复!不幸的是,在测试了这段代码之后,我认为我列出的方法不负责帧缩放。这是因为我在代码中进一步测试了另一种方法:-(UIView *)showFeaturedAppFullScreenAdWithURL:(NSString *)adURL {return [self showFeaturedAppFullScreenAd:adURL withFrame:self.view.frame]; //替换了边框,它改变了UIView,但是我对问题中列出的方法所做的修改没有效果;只是重复一遍,我通过注释fullScreenAdView.frame来对此进行了测试。...它没有任何效果。 (2认同)