본문 바로가기

Swfit98

SwiftUI Segment Picker의 round 유지하며 background color 변경하기 SwiftUI의 Picker view의 `pickerStyle`을 .segmented로 설정해주면, UIKit의 `Uisegmentedcontrol`과 같은 모양의 UI를 사용할 수 있습니다.   기본적으로 배경색이 회색이고 round된 corner를 가진 모양입니다. 배경색상을 변경할 필요가 있었고, `background`를 설정해주면 될 것 같아 적용해 보았습니다. struct SegmentedView: View { @Binding var element: PickerElement var body: some View { Picker(selection: $element) { ForEach(PickerElement.allCases) { .. 2024. 11. 18.
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory 에러 해결방법 Terminal로 편하게 XCode project를 열기 위해서 `xed` 명령어를 애용하고 있습니다.최근에 XCode 버전을 여러 개 설치하면서 XCode app의 이름을 바꿨더니, 아래와 같은 에러를 만나게 되었습니다.xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory ...(생략)...  XCode 앱의 이름을 바꿨다 보니 아무래도 해당 부분을 바꾸어 줘야 되는 건가 싶은 생각이 들었습니다. 우선, 현재 xed 명령어 실행 시에 어느 경로를 체크하는 지 알기 위해서는 아래 명령어를 입력해 줍니다. xcode-select -p 그러면 현재 설정되어 있는 경로를 반환해줍니다.저는 `/Applicatio.. 2024. 11. 14.
SwiftUI Pinch Gesture 적용하기 (view crop도 같이 적용) 적용된 기능1. 두 손가락 pinch2. Pinch 되는 view가 특정한 frame size를 넘어가면 이미지가 잘리도록3. Pinch가 시작되는 부위부터 zoom 되도록 struct PinchView: View { @GestureState private var magnifyBy = 1.0 @State private var accumulatedScale: CGFloat = 1.0 @State private var scaleAnchor: UnitPoint = .center var magnification: some Gesture { MagnifyGesture() .updating($magnifyBy) { value, gestureState, tranx.. 2024. 11. 8.
Console에서 info, debug 내용 나오지 않을 때 혹시 console에서 로그가 안보이는 경우 확인해볼 사항! info, debug로 만약 로그를 찍고 있다면, Console 옵션바 Action에서 체크표시를 해주어야 console에서 볼 수 있음. 2024. 7. 20.
os_log private 으로 나오는 내용 확인하기 os_log 를 사용해서 console 앱으로 로그를 찍어보면 으로 내용이 나오는 경우가 있다. 해당 정보를 보기위해서는 info.plist에서 설정을 추가해주면 된다. OSLogPreferences put.your.subsystem.name.here put.your.category.name.here Level Enable Debug Persist Debug Enable-Private-Data 참고자료 https://stackoverflow.com/questions/45908875/apple-iphone-debugging-with-console-private 2024. 7. 19.
Structure의 immutability value 타입인 struct의 인스턴스는 let로 선언되는 경우, 내부의 변수가 var로 선언되어 있다 할지라도 해당 변수의 값을 변경할 수 없습니다. struct MyStruct { var id: Int } let structA = MyStruct(id: 0) structA.id = 1 // Error: Cannot assign to property: 'structA' is a 'let' constant struct 인스턴스 자체를 var로 선언해야만 내부 값을 변경할 수 있습니다. 왜 그럴까? 이는 struct가 value 타입인 것과 연관이 있습니다. value 타입인 struct는 내부의 변수 값이 변경될 때, 기존의 인스턴스의 값이 변하는 것이 아니라 마치 새로운 인스턴스가 생성되는 것 처럼 .. 2024. 4. 21.
반응형