2015-10-28 25 views
6

Tôi cần có quảng cáo biểu ngữ của mình được sắp xếp/lấp đầy toàn bộ chiều rộng của màn hình ở dưới cùng.Đổi kích thước quảng cáo biểu ngữ MoPub iOS?

Mã của tôi đang làm việc cho các thiết bị với độ rộng bằng một trong hai MOPUB_BANNER_SIZE.width hoặc MOPUB_LEADERBOARD_SIZE.width Nhưng trên các thiết bị khác (iPhone 5/6/vv và một số iPad) lựa chọn duy nhất của tôi là đến trung tâm bảng hiệu. đây là đoạn code:

if(!_mopubBanner){ 
    NSString* bannerID; 
    const CGSize* bannerSize; 
    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone){ 
     bannerID = @"MopubBannerId"; 
     bannerSize = &MOPUB_BANNER_SIZE; 
    } 
    else{ 
     bannerID = @"MopubLeaderboardId"; 
     bannerSize = &MOPUB_LEADERBOARD_SIZE; 
    } 

    _mopubBanner = [[MPAdView alloc] initWithAdUnitId:bannerID size:*bannerSize]; 
    _mopubBanner.delegate = self; 

    CGRect BannerFrameRect; 
    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) 
    { 
     BannerFrameRect = CGRectMake(([[UIScreen mainScreen] bounds].size.width - MOPUB_BANNER_SIZE.width)/2, 
            [[UIScreen mainScreen] bounds].size.height - MOPUB_BANNER_SIZE.height, 
            MOPUB_BANNER_SIZE.width, 
            MOPUB_BANNER_SIZE.height); 
    } 
    else 
    { 
     BannerFrameRect = CGRectMake(([[UIScreen mainScreen] bounds].size.width - MOPUB_LEADERBOARD_SIZE.width)/2, 
            [[UIScreen mainScreen] bounds].size.height - MOPUB_LEADERBOARD_SIZE.height, 
            MOPUB_LEADERBOARD_SIZE.width, 
            MOPUB_LEADERBOARD_SIZE.height); 
    } 

    _mopubBanner.frame = BannerFrameRect; 
} 

Tôi đã cố gắng thiết lập kích thước tùy chỉnh cho BannerFrameRect nhưng quảng cáo banner chỉ tiếp tục điều chỉnh chính nó vào góc trên bên trái của khung mới. Nó không được thu nhỏ.

có cách nào để thay đổi kích thước quảng cáo không?

cảm ơn bạn

Trả lời

0

xin hãy xem mẫu mã của MoPub đây:

https://github.com/mopub/mopub-ios-sdk/blob/master/MoPubSampleApp/Controllers/MPLeaderboardBannerAdDetailViewController.m

Bạn có thể sử dụng autoresizing trong UIView, và trong trường hợp của bạn, bạn có thể chỉ cần thêm dòng sau vào bạn mã:

_mopubBanner.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin; 

hy vọng điều này sẽ hữu ích!

0

Bạn có hai giải pháp khả thi:

  1. Sử dụng mặt nạ autoresizing

    _mopubBanner.translatesAutoresizingMaskIntoConstraints = YES; 
    _mopubBanner.autoresizingMask = UIViewAutoresizingFlexibleWidth; 
    

Bạn có lẽ sẽ cần phải thiết lập height thủ công như bạn chỉ muốn 'ngang' căng.

  1. IMO tốt hơn nhiều - sử dụng Autolayouts. Đối với điều này tôi muốn giới thiệu PureLayout vì nó thực sự rõ ràng và hữu ích.

    _mopubBanner.translatesAutoresizingMaskIntoConstraints = NO; 
    [_mopubBanner autoPinEdgesToSuperviewEdgesWithInsets:UIEdgeInsetsZero excludingEdge:ALEdgeTop]; 
    
+0

cảm ơn câu trả lời toàn diện. Thật không may tôi đang đi nghỉ ngay bây giờ nên tôi không thể kiểm tra nó. Tôi sẽ không chấp nhận câu trả lời cho đến khi tôi có thể kiểm tra nó. Nhưng tôi sẽ cung cấp cho bạn tiền thưởng như một chút khuyến khích để tích cực hơn trên SO. :)) cảm ơn. –

+0

Cảm ơn bạn, viết lại sau khi thử nghiệm, tôi có thể giúp bạn với Autolayouts quá. – Krodak

+0

thử nghiệm này ra - mopub vẫn từ chối để có được thay đổi kích cỡ. Vâng, địa ngục với nó, miễn là nó không sụp đổ :)) –

Các vấn đề liên quan