Когда я использую компонент expo FacebookAds для отображения BannerAd, он отлично работает для Android, но в iOS он добавляет дополнительное пространство вверху, и я вообще не могу решить эту проблему с помощью стиля.
Компонент для показа баннерной рекламы
import React from 'react';
import {FacebookAds} from 'expo';
const BannerAd = ({style, facebookAdsPlacementId}) => (
<FacebookAds.BannerView
style={[{backgroundColor:'#888'},style]}
placementId={facebookAdsPlacementId}
type="standard"
onPress= {() => console.log("Banner Ad Clicked")}
onError= {err => console.log('Banner Ad Error', err)}
/>
);
export {BannerAd};
Я так это называю
<BannerAd style={{marginBottom:isIos?20:0}}
и вот как это выглядит
0
ChristKho
24 Окт 2018 в 04:26
2 ответа
Лучший ответ
Это было моим решением этой проблемы
<BannerAd style={{ position:isIos?"absolute":"relative", bottom:isIos?20:0 }}
facebookAdsPlacementId={isIos?this.props.facebookAdsIosBanner:
this.props.facebookAdsAndroidBanner }/>
Пожалуйста, дайте мне знать, если у вас есть лучшее решение
1
ChristKho
24 Окт 2018 в 04:28
Это можно использовать без дополнительного компонента относительного положения.
const styles = StyleSheet.create({
bannerAd: {
...Platform.select<ViewStyle>({
ios: {
transform: [
{
translateY: -20,
},
],
},
}),
},
})
0
K.Adams
5 Апр 2019 в 17:01
Похожие вопросы
Новые вопросы
react-native
React native - это библиотека JavaScript, используемая для создания собственных мобильных приложений с использованием React. В центре внимания React Native - эффективность работы разработчиков на всех платформах, которые вам интересны - учитесь один раз, пишите где угодно.