WooKoo Blog

물과 같이

SwiftUI 19

[SwiftUI] - SwiftUI Button Hide 버튼 숨기기

클릭한 버튼 비활성화 시에는 Button() .disabled($is) 숨길 때에는 이런식으로 비활성화 할 수 있지만 hidden은 그런게 없어서 당황ㅅ... opacity 를 조절해서 숨긴 것처럼 할 수 있는 방법이 있다. @State var isState: Bool = false Button() .opacity(isState ? 0 : 1) 이런식으로 스유는 처리를 하나보네요! 레퍼런스입니다. https://stackoverflow.com/questions/56490250/dynamically-hiding-view-in-swiftui

개발/개발 2022.10.11

[SwiftUI] - TabView 어떻게 만들지?

안녕하세요 오늘은 SwiftUI의 TabView에 대해서 간단하게 정리해볼거에요 UIKit 에서는 TabbarViewcontroller 를 사용해서 탭바를 만들었는데요 SwiftUI에서는 TabView라는 이름으로 하나의 뷰처럼 이용할 수 있어요 바로 알아볼께요 먼저 탭바를 선택했을 때 사용할 selection을 하나 만들어주죠 @State private var selection = 1 그 후에 아래와 같은 형태로 만들어주면됩니다. TabView(selection: $selection) { Text("홈") .tabItem { Text("홈탭") }.tag(1) Text("두번 째 탭") .tabItem { Text("둘탭") }.tag(2) Text("셋탭") .tabItem { Text("셋탭") }..

개발/개발 2022.07.26

[iOS] - UIStepper 사용해보기

UIStepper 를 쓸 때 필수적을 사용하는 프로퍼티가 있다고합니다. let stepper: UIStepper = UIStepper().then{ $0.wraps = true $0.autorepeat = true $0.maximumValue = 11 } wraps 는 최댓값 최솟값에 도달했을 때 true일 경우에는 최솟값으로 바꿔주고 false일 경우에는 현재 값을 유지해준다고하네요! autorepeat은 사용자가 + - 꾹 눌렀을 때를 허용할건지!!! maximumValue는 안봐도 아시겠죠?? 최댓값을 설정하는겁니다!

개발/개발 2022.04.20

[SwiftUI] - UIKit 프로젝트에서 SwiftUI

아주아주 사용방법은 간단합니다. import SwiftUI struct ContentView:View{ var body: some View{ Text("Hello SwiftUI") } } SwiftUI를 임포트해주고 UIHostingViewController로 감싼 저 ContentView를 띄워주기만하면 됌! let swiftUIView = UIHostingController(rootView: ContentView()) self.present(swiftUIView, animated: false, completion: nil) 이런식으로!!!! 스유 회사에 부분 적용해볼까... 응 근데 canvas가 없네..? 이거 할려고 스유쓰는 이유도 있는데...ㅠ 하단에 스유에서 했떤 것처럼 struct Conte..

개발/개발 2022.04.13

[SwiftUI] - Button과 ImageButton

기본적인 텍스트 버튼의 경우는 아래와 같이 구성합니다. var body: some View { HStack(spacing: 20){ Button("Button"){ print("Button1") } Button(action:{print("Button2")}){ Text("Button") .padding() .background(RoundedRectangle(cornerRadius: 10).strokeBorder()) } Button(action: {print("Button3")}) { Circle() .stroke(lineWidth: 2) .frame(width: 80, height: 80) .overlay(Text("Button")) } .accentColor(.green) } } 버튼에 이미지를 넣고..

개발/개발 2020.09.24

[SwiftUI] - Overlay, Background (겹치기, 중첩, 쌓기)

앞에서 포스팅 했던 ZStack 말고도 뷰를 겹치는 방법이 여러가지가 있는데 먼저 Overlay를 보도록 하겠다. Rectangle().fill(Color.green).frame(width: 150, height: 150) .overlay( Rectangle().fill(Color.yellow) ) // 뷰 중첩 오버레이, 크기 안정하면 동일해서 겹침 초록색 사각형을 먼저 그린뒤 overlay를 사용하면 덮어씌운다. 따로 크기를 지정하지 않는다면 기존의 뷰와 같은 크기를 만든다. 다른 방법으로는 Background가 있다. Background는 우리가 보통 뒷배경의 색을 바꿀 때 사용했었는데 실제로는 뷰의 하위 계층에 쌓아가는 것이다. Rectangle().fill(Color.green).frame(wi..

개발/개발 2020.09.09

[SwiftUI] - StackView 조합해보기

위와 같은 UI를 구성하려고한다. 전체코드 var body: some View { VStack{ Text("도형 만들기").font(.largeTitle).fontWeight(.heavy) HStack{ Text("둥근모양").font(.title) Spacer() } ZStack{ Rectangle().frame(height: 10) HStack{ Circle().fill(Color.yellow) Ellipse().fill(Color.green) Capsule().fill(Color.orange) RoundedRectangle(cornerRadius: 30).fill(Color.gray) } } HStack{ Text("각진 모양").font(.title) Spacer() } ZStack{ Rectan..

개발/개발 2020.09.08

[SwiftUI] - StackView 스택뷰

UIKit의 UIStackView는 선택적인 요소 였다면 SwiftUI의 Stack은 거의 필수적인 요소이다. 여러개의 컨텐츠를 표현할 때 반드시 사용해야한다. HStack, VStack, ZStack이 있다. HStack{ Rectangle() .fill(Color.green) .frame(width: 150, height: 150) Rectangle() .fill(Color.yellow) .frame(width: 150, height: 150) } Horizontal Stack의 모습이다. Vstack 이런 모습이다! 그럼? ZStack은??? 깊이 스택이기때문에 초록색을 노란색 사각형이 덮은 모습이라 안보이는 것이다. offset으로 확인해보면 정말 그런지 볼 수 있다. ZStack{ Rectang..

개발/개발 2020.09.07

[SwiftUI] - SF Symbols 아이콘

SF Symbols은 내장된 아이콘으로서 약 1500개 가량의 아이콘을 지원해주고 크기 및 색을 변경 할 수 있다. 설치해서 사용하는 것입니다. SF Symbols 공식 문서 https://developer.apple.com/design/human-interface-guidelines/sf-symbols/overview/ SF Symbols - SF Symbols - Human Interface Guidelines - Apple Developer SF Symbols SF Symbols provides a set of over 2,400 consistent, highly configurable symbols you can use in your app. Apple designed SF Symbols to i..

개발/개발 2020.09.06

[SwiftUI] - RenderingMode 렌더링 모드

이미지에는 template과 original 2가지의 렌더링 모드가 있다. template - 이미지의 불투명 영역이 가진 본래의 색 무시하고 원하는 색으로 변경해 템플릿 이미지로 활용 original - 항상 이미지 본래의 색 유지 HStack{ Image("SwiftUI") Image("SwiftUI").renderingMode(.original) Image("SwiftUI").renderingMode(.template) }.foregroundColor(.red) 모든 하위 이미지를 red로 적용하는데 template 이미지만 적용된다.

개발/개발 2020.09.04