커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
2주차 실습 질문!
[왕초보] 나만의 수익성 앱, 앱개발 종합반
2주차
북마크
박*섬
댓글
2
추천
0
조회수
13
조회수
13
답변 완료

안녕하세요.


2주차 [[실습] 복습겸, 공부겸 메인화면을 다음 화면처럼 바꾸어보세요]


를 하던 중에 최상위 <ScrollView>를 <View>로 바꿔도 상관이 없다고 하는데 그렇게 코딩하니까 왜 카드에 있는 텍스트가 안 나오는지 알 수 있을까요?


import React from 'react';


import { StyleSheet, Text, View, Image, TouchableOpacity, ScrollView, SafeAreaView} from 'react-native';


export default function App() {
  return (
    <ScrollView style={styles.container}>
      <Text style={styles.appName}>나만의 꿀팁</Text>
      <Image
      source={{uri:"https://storage.googleapis.com/sparta-image.appspot.com/lecture/main.png"}}
      resizeMode={"contain"}
      style={styles.mainImage}
      />


      <ScrollView horizontal style={styles.btns}>
        <TouchableOpacity style={styles.btn1}>
          <Text style={styles.btnText}>생활</Text>
        </TouchableOpacity>
        <TouchableOpacity style={styles.btn2}>
          <Text style={styles.btnText}>재테크</Text>
        </TouchableOpacity>
        <TouchableOpacity style={styles.btn3}>
          <Text style={styles.btnText}>반려견</Text>
        </TouchableOpacity>
        <TouchableOpacity style={styles.btn4}>
          <Text style={styles.btnText}>꿀팁 찜</Text>
        </TouchableOpacity>
      </ScrollView>
      <View style={styles.contentContainer}>
        <View style={styles.contents}>
          <Image
            style={styles.thumbnail}
            source={{uri:"https://storage.googleapis.com/sparta-image.appspot.com/lecture/pizza.png"}}/>
          <View style={styles.content}>
              <Text style={styles.contentTitle}>먹다 남은 피자를 촉촉하게!</Text>
              <Text style={styles.contentDesc} numberOfLines={3}>먹다 남은 피자는 수분이 날라가기 때문에 처음처럼 맛있게 먹을 수 없는데요. 이럴 경우 그릇에 물을 받아 전자레인지 안에서 1분 30초에서 2분 정도 함께 돌려주면 촉촉하게 먹을 수 있습니다. 물이 전자레인지 안에서 수증기를 일으키고, 피자에 촉촉함을 더해줍니다.</Text>
              <Text style={styles.contentDate}>2020.09.09</Text>
          </View>
        </View>
      </View>
    </ScrollView>
  )


}


const styles = StyleSheet.create({
  container: {
    padding: 10,
    paddingTop: 40
  },
  appName: {
    fontSize: 20,
    fontWeight: "700",
  },
  mainImage: {
    width: "90%",
    height: 200,
    borderRadius: 10,
    marginTop: 20,
    alignSelf: "center"
  },
  
  btns: {
    marginTop: 20,
    marginLeft: 10,
    height: 60,
  },
  btn1: {
    width: 100,
    height: 50,
    borderRadius: 15,
    margin: 7,
    padding: 15,
    backgroundColor: "orange"
  },
  btn2: {
    width: 100,
    height: 50,
    borderRadius: 15,
    margin: 7,
    padding: 15,
    backgroundColor: "pink"
  },
  btn3: {
    width: 100,
    height: 50,
    borderRadius: 15,
    margin: 7,
    padding: 15,
    backgroundColor: "lightblue"
  },
  btn4: {
    width: 100,
    height: 50,
    borderRadius: 15,
    margin: 7,
    padding: 15,
    backgroundColor: "violet"
  },
  btnText: {
    textAlign: "center",
    fontWeight: "700",
    color: "white"
  },


  contentContainer:{
    marginTop: 10,
    marginLeft: 10
  },
  contents: {
    flex: 1,
    flexDirection: 'row',
    margin: 10,
    borderBottomWidth: 0.5,
    borderBottomColor: "#eee",
    paddingBottom: 10
  },
  thumbnail: {
    flex: 1,
    width: 100,
    height: 100,
    borderRadius: 10
  },
  content: {
    flexDirection: "column",
    flex: 2,
    marginLeft: 10
  },
  contentTitle: {
    fontSize: 20,
    fontWeight: "700"
  },
  contentDesc: {
    fontSize: 15,
    color: "black"
  },
  contentDate: {
    fontSize: 10,
    color: "#a6a6a6"
  }
});

아래는 <View>로 작성했을때 사진이고

return(
  <View>
// ~~~
</View>
 )
스파르타 즉문즉답

아래는 <ScrollView>로 작성했을때 화면입니다. 둘 다 아래처럼 나와야하는게 맞는거 같은데 View 태그만 쓰면 저렇게 사라지네요 ㅠ

스파르타 즉문즉답


취소
 공유
취소
댓글 0
댓글 알림
나의얼굴