일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 다크모드
- SwiftUI
- remote config
- Android
- Alamofire
- Firebase
- UIScrollView
- gcd
- ios
- 라이트모드
- dictionary
- UIButton
- SwiftLint
- WebView
- Observable
- 문자열
- 웹뷰
- subscript
- swipe
- Realtime Database
- Apple
- autolayout
- RxSwift
- github
- LazyHStack
- UITabBarController
- NavigationLink
- Java
- string
- Swift
- Today
- Total
목록AutoLayout (9)
점진적 과부하 개발 블로그

이번에는 UIStackView에 대해서 알아보겠습니다. StackView란? 열이나 행에 뷰 컬렉션을 배치하기 위한 간소화된 인터페이스 https://developer.apple.com/documentation/uikit/uistackview Apple Developer Documentation developer.apple.com StackView의 장점 자동으로 크기 조절이 가능하다. 균등하게 할 수 있다. 빠른 작업이 가능하다. StackView 생성 프로젝트를 생성하고 Horizontal Stack View를 생성해 주겠습니다. Stack View에는 색상이 존재하지 않습니다. 빈용기 정도로 보시면 될 것 같습니다. Stack View 안에 Label 생성 Stack View에 Label을 집어넣겠..

이번에는 코드로 애니메이션을 적용 시켜보겠습니다. 프리뷰 세팅 작업의 효율을 높이기 위해 프리뷰를 사용하겠습니다. opt + cmd + enter // 프리뷰 창 띄우기 opt + cmd + p // 프리뷰 실행 전처리기 소스 : Assets.xcassets 컬러 설정 마우스 우클릭 -> New Color Set 원하는 컬러 설정 설정한 컬러를 코드로 불러오고 싶으면 아래 코드를 작성하면 된다. view.backgroundColor = UIColor(named: "Color이름") 뷰 생성 상수 뷰를 만들어주고 background랑 cornerRadius, constraint를 설정해 주겠습니다. let someView = UIView() someView.backgroundColor = UIColor(n..

스토리보드 UI작업을 코드로 작성해보겠습니다. UIView 먼저 UIView를 설정해 주겠습니다. let myFirstView = UIView() myFirstView.translatesAutoresizingMaskIntoConstraints = false // Code로 작업할 때 꼭 있어야 함. myFirstView.backgroundColor = .systemIndigo self.view.addSubview(myFirstView) 위치 설정 코드로 오토레이아웃의 위치를 잡아보겠습니다. // x 축, y축 위치, 가로, 세로 myFirstView.centerXAnchor.constraint(equalTo: self.view.centerXAnchor).isActive = true myFirstView...

Constraint 우선순위 각 컨스트레인트에 대한 우선순위(priority) 앵커가 서로 충돌 될때 우선순위가 낮은거는 무시 1000이 가장 높다. 예를 들어 아래와 같이 앵커가 서로 충돌 되었을 떄 충돌된 Constraint의 priority의 값을 조절하여 우선순위를 가질수 있게 해준다. Hugging 안으로 끌어안기 공간이 남아서 당겨지는 상황 Compression Resistance 밖으로 밀어내기 공간이 없어서 줄어드는 상황

Scroll View를 한번 만들어 보겠습니다. 스크롤뷰 크기 + 위치 잡기 shift + cmd + l을 눌러서 Scroll View를 추가한다. 추가한 뒤 화면에 꽉차게 모두 0으로 앵커를 걸어주겠습니다. Autolayout이 자리를 잡지 않았기 때문에 드래그로 위치를 맞춰주겠습니다. 스크롤을 할 수 있게 UIView를 하나 만들겠습니다. View를 Content Layout Guide에 맞추겠습니다. ctrl 누른 상태에서 드래그 해준다. Shift키를 누른 상태에서 가로세로 다 선택해주겠습니다. 걸어준 후 View의 Constant를 모두 0으로 바꿔주겠습니다. 화면밖으로 넘어가는걸 방지하기 위해 View를 Frame Layout Guide에 Equal Widths 하겠습니다. multiplier..

Dynamic tableview cell 이란 것을 만들어 보겠습니다. 우선 프로젝트를 하나 생성하겠습니다. 그리고 TableView를 만들어주겠습니다. 만들어 주신 다음에 tableView의 Constraint를 모두 0으로 걸어주겠습니다. Bottom은 First Item : Superview.Bottom으로 바꿔주겠습니다. 그다음 다시 Constant를 0으로 걸어주겠습니다. TableViewCell을 만들건대 Shfit+cmd+l로 추가하셔도 되지만 이번에는 User Interface를 이용해 보겠습니다. cmd + n -> User Interface -> Empty 를 눌러주고 생성해줍니다. 생성한 파일에 tableviewcell을 추가해 줍니다. tableviewcell 안에 UIImageVi..

Label에 Autolayout 적용시켜보기 우선 Label을 생성해 가로 세로 Constraint를 걸어줍니다. Label에 텍스트를 아래와 같이 집어넣게 되면 화면 밖으로 나가버립니다. 이럴 경우 Trailing에도 Constraint를 걸어줍니다. lines을 자신이 원하는 만큼 설정해주시면 아래와 같이 Label의 크기는 알아서 조정이 됩니다. 다른 방법으로는 Greater Than or Equal이 있다. 예를 들어 Constraint를 Trailing에 50만큼 주고 그 밖으로 크기를 내보내고 싶지 않으면 아래와 같이 Greater Than or Equal로 설정해주면 해결이 된다. 적용이 된 모습 라벨 크기에 맞춰서 뷰 크기 늘리기(제한) 먼저 뷰를 하나 만들고 그 안에 Label 만든다. ..

이번에는 Constraint(제약 조건)에 대해 더 알아보겠습니다. 서로 뷰끼리의 관계를 설정하는 방법 Constraint가 충돌되었을 때 처리하는 방법 Alignment Constraint Constraint를 바꾸고 싶으면 Alignment Constraint를 활용하면 된다. 예를 들어 Second Item : Safe Area.Leading(왼쪽)을 -> Sage Area.trailling(오른쪽)을 변경해보겠습니다. Constraint의 위치가 오른쪽으로 바뀐것을 확인할 수 있다. Autolayout 위치를 우선적으로 한다. 아래와 같이 오류가 떠도 실행은 된다. 이유는? Autolayout은 크기보다 위치를 더 우선적으로 하기 때문에 크기는 무시하고 랜더링이 된다. 다른 방법으로 오류 수정하기..