//
// ContentView.swift
// SwiftUI_text
//
// Created by devdepot on 2021/04/27.
//
import SwiftUI
struct ContentView: View {
static let dateFormat: DateFormatter = {
let formatter = DateFormatter()
formatter.dateFormat = "YYYY년 M월 d일"
// formatter.dateStyle = .full
return formatter
}()
var today = Date()
var trueOrfalse = false
var number = 123
var body: some View {
VStack{
Text("What is Lorem Ipsum? Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum")
.tracking(2) //글자 사이 간격(반드시 텍스트 바로 다음 적용)
.font(.system(size: 15))
.fontWeight(.medium)
.multilineTextAlignment(.center)
.lineLimit(nil)
.lineSpacing(10) //줄간격
.truncationMode(.head)
.shadow(color: .red, radius: 1.5, x: 4, y: 10)
.padding(.horizontal,20)
.background(Color.yellow)
.cornerRadius(20)
.background(Color.green)
.padding()
.background(Color.red)
Text("안녕하세요")
.background(Color.gray)
.foregroundColor(Color.white)
Text("오늘의 날짜 입니다 : \(today, formatter: ContentView.dateFormat)")
Text("참 혹은 거짓 : \(String(trueOrfalse))")
Text("숫자입니다 : \(number)")
}
}
}
//struct ContentView_Previews: PreviewProvider {
// static var previews: some View {
// ContentView()
// }
//}
전체 글
- (SwiftUI)05.텍스트 ,데이트 형식,형변환 2021.04.27
- (SwiftUI)04.웹뷰 띄우기 2021.04.27
- (SwiftUI)03.바인딩 @Binding 2021.04.27
- (SwiftUI)02. 네비게이션,spacer,@state 2021.04.26
- (SwiftUI)01. VStack,HStack 2021.04.26
- (마리아DB)댓글 추출 2021.04.12
(SwiftUI)05.텍스트 ,데이트 형식,형변환
2021. 4. 27. 13:55
(SwiftUI)04.웹뷰 띄우기
2021. 4. 27. 13:26
-contentView-
//
// ContentView.swift
// swiftUI_Webview_tutorial
//
// Created by devdepot on 2021/04/27.
//
import SwiftUI
struct ContentView: View {
var body: some View {
// MyWebView(urlToLoad: "https://www.naver.com")
NavigationView{
HStack{
NavigationLink(
destination: MyWebView(urlToLoad: "https://www.naver.com")){
Text("네이버")
}
NavigationLink(
destination: MyWebView(urlToLoad: "https://www.google.com")){
Text("구글")
}
NavigationLink(
destination: MyWebView(urlToLoad: "https://www.daum.net")){
Text("다음")
}
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
-MyWebView-
//
// MyWebView.swift
// swiftUI_Webview_tutorial
//
// Created by devdepot on 2021/04/27.
//
import SwiftUI
import WebKit
// uikit 의 uiView 를 사용할 수 있도록 한다.
// uiViewCOntrollerRepresntable
struct MyWebView: UIViewRepresentable {
var urlToLoad: String
// uiview 만들기
func makeUIView(context: Context) -> WKWebView {
guard let url = URL(string: self.urlToLoad) else {
return WKWebView()
}
//웹뷰 인스턴스 생성
let webView = WKWebView()
// 웹뷰를 로드한다.
webView.load(URLRequest(url: url))
return webView
}
// 업데이트 ui view
func updateUIView(_ uiView: WKWebView, context: UIViewRepresentableContext<MyWebView>) {
}
}
struct MyWebVie_previees: PreviewProvider{
static var previews: some View{
MyWebView(urlToLoad: "https://www.naver.com")
}
}
'IOS > SwiftUI' 카테고리의 다른 글
(SwiftUI)07.Stack 정리 (0) | 2021.04.27 |
---|---|
(SwiftUI)06.CircleImage (0) | 2021.04.27 |
(SwiftUI)03.바인딩 @Binding (0) | 2021.04.27 |
(SwiftUI)02. 네비게이션,spacer,@state (0) | 2021.04.26 |
(SwiftUI)01. VStack,HStack (0) | 2021.04.26 |
(SwiftUI)03.바인딩 @Binding
2021. 4. 27. 12:55
//
// ContentView.swift
// YoutubeSwift
//
// Created by devdepot on 2021/04/27.
//
import SwiftUI
struct ContentView: View {
@State
private var isActivated: Bool = false;
@State
private var testAct: Bool = true;
var body: some View {
NavigationView{
VStack{
HStack{
MyVstackViewL(isActivated: $isActivated) //false넘김
MyVstackViewL(isActivated: $testAct) //true 넘김
MyVstackViewL() //false 넘김
}.padding(10).background(Color.red)
NavigationLink(
destination: MyVstackViewL(),
label: {
/*@START_MENU_TOKEN@*/Text("Navigate")/*@END_MENU_TOKEN@*/
})
}
}
}
}
struct MyVstackViewL:View {
@Binding
var isActivated: Bool
//생성자
init(isActivated: Binding<Bool> = .constant(false)) {
_isActivated = isActivated
}
var body: some View{
VStack{
Text("1")
.fontWeight(.bold)
.font(.system(size: 60))
Text("2")
.fontWeight(.bold)
.font(.system(size: 60))
Text("3")
.fontWeight(.bold)
.font(.system(size: 60))
}.background(self.isActivated ? Color.green : Color.yellow)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
'IOS > SwiftUI' 카테고리의 다른 글
(SwiftUI)07.Stack 정리 (0) | 2021.04.27 |
---|---|
(SwiftUI)06.CircleImage (0) | 2021.04.27 |
(SwiftUI)04.웹뷰 띄우기 (0) | 2021.04.27 |
(SwiftUI)02. 네비게이션,spacer,@state (0) | 2021.04.26 |
(SwiftUI)01. VStack,HStack (0) | 2021.04.26 |
(SwiftUI)02. 네비게이션,spacer,@state
2021. 4. 26. 13:13
//
// MyTextView.swift
// vitamde
//
// Created by devdepot on 2021/04/26.
//
import SwiftUI
struct MyTextView: View {
@State //어노테이션(값이 변경되면 자동으로 렌더링 된다.)
private var index: Int = 0
// 배경색 배열 준비
private let backgroundColors = [
Color.red,Color.yellow,Color.blue,Color.green,Color.orange
]
var body: some View{
VStack{
Spacer()
Text("배경 아이템 인덱스 \(self.index + 1)")
.font(.system(size: 30))
.fontWeight(.bold)
.frame(minWidth: 0,maxWidth:.infinity,minHeight: 0,maxHeight: .infinity)
Spacer()
}.background(backgroundColors[index])
.edgesIgnoringSafeArea(/*@START_MENU_TOKEN@*/.all/*@END_MENU_TOKEN@*/)
.onTapGesture {
print("배경아이템이 클릭 되었다.")
if( self.index == self.backgroundColors.count - 1){
self.index = 0
}else{
self.index += 1
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
MyTextView()
}
}
import SwiftUI
struct ContentView: View {
@State //어노테이션(값이 변경되면 자동으로 렌더링 된다.)
private var isActivated: Bool = false
var body: some View {
NavigationView{
VStack{
HStack{
MyVstackViewL()
MyVstackViewL()
MyVstackViewL()
}.padding(isActivated ? 50.0 : 10)
.background(isActivated ? Color.red : Color.black)
.onTapGesture
{
//애니메이션 함께
withAnimation {
print("Hstack이 클릭 되었다.")
self.isActivated.toggle()
}
//탭 제스처 추가
}
NavigationLink(destination: MyVstackViewL()){
Text("네비게이션")
}.padding(.top,50)
NavigationLink(destination: Text("호호")){
Text("호호로 이동 ")
.background(Color.orange)
.foregroundColor(.white)
.cornerRadius(30)
}.padding(.top,50)
NavigationLink(destination: MyTextView()){
Text("배경아이팀인덱스")
}.padding(.top,50)
}
}// Navigation
}
}
struct MyVstackViewL:View {
var body: some View{
VStack{
Text("1")
.fontWeight(.bold)
.font(.system(size: 60))
Text("2")
.fontWeight(.bold)
.font(.system(size: 60))
Text("3")
.fontWeight(.bold)
.font(.system(size: 60))
}.background(Color.yellow)
}
}
//struct ContentView_Previews: PreviewProvider {
// static var previews: some View {
// MyTextView()
// }
//}
'IOS > SwiftUI' 카테고리의 다른 글
(SwiftUI)07.Stack 정리 (0) | 2021.04.27 |
---|---|
(SwiftUI)06.CircleImage (0) | 2021.04.27 |
(SwiftUI)04.웹뷰 띄우기 (0) | 2021.04.27 |
(SwiftUI)03.바인딩 @Binding (0) | 2021.04.27 |
(SwiftUI)01. VStack,HStack (0) | 2021.04.26 |
(SwiftUI)01. VStack,HStack
2021. 4. 26. 11:50
import SwiftUI
struct ContentView: View {
var body: some View {
HStack{
MyVstackViewL()
MyVstackViewL()
MyVstackViewL()
}.padding(10).background(Color.red)
}
}
struct MyVstackViewL:View {
var body: some View{
VStack{
Text("1")
.fontWeight(.bold)
.font(.system(size: 60))
Text("2")
.fontWeight(.bold)
.font(.system(size: 60))
Text("3")
.fontWeight(.bold)
.font(.system(size: 60))
}.background(Color.yellow)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
'IOS > SwiftUI' 카테고리의 다른 글
(SwiftUI)07.Stack 정리 (0) | 2021.04.27 |
---|---|
(SwiftUI)06.CircleImage (0) | 2021.04.27 |
(SwiftUI)04.웹뷰 띄우기 (0) | 2021.04.27 |
(SwiftUI)03.바인딩 @Binding (0) | 2021.04.27 |
(SwiftUI)02. 네비게이션,spacer,@state (0) | 2021.04.26 |
(마리아DB)댓글 추출
2021. 4. 12. 13:06
SELECT * FROM(SELECT c.*,a.nickName FROM comment c JOIN account a ON c.userId = a._id AND c.contentId = 30) a order BY commentGroup ASC,root asc,_id asc;