Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 플로이드와샬
- 그리디
- ios
- 알고리즘
- 문제풀이
- BFS
- 그래프
- 백트래킹
- Blockchain
- Swift
- 실버쥐
- 부르트포스
- DeepLearning
- 탐색
- 풀이
- C++
- Greedy
- dp
- Node.js
- 캡스톤정리
- Stack
- mysql
- 프로그래머스
- Algorithm
- ReLU
- NeuralNetwork
- 백준
- sigmoid
- dfs
- Docker
Archives
- Today
- Total
개발아 담하자
[iOS/Swift] XML을 통한 UI 그리기 (1) 본문
xml 과 연결한 UI 를 만들어보자!
사용 라이브러리 : Layout https://github.com/nicklockwood/layout
Pod install
pod 'Layout', '~> 0.6'
먼저 라이브러리를 설치한다. (버전이 자주 바뀌므로 깃 공식문서를 참고하자)
AppDelegate.swift
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
window = UIWindow()
window?.rootViewController = ViewController()
window?.makeKeyAndVisible()
return true
}
}
원하는 rootview를 지정해준다.
Load XML
import Layout
struct LayoutState{
let isSelected: Bool
}
class ViewController: UIViewController, LayoutLoading {
override func viewDidLoad() {
super.viewDidLoad()
loadLayout(
named: "sample2.xml",
state: LayoutState(isSelected: false),
constants: [
"title": "my title"
]
)
}
// state 지정
func setSelected() {
self.layoutNode?.setState(LayoutState(isSelected: true))
}
}
named : 불러올 xml 파일 이름이다.
state, constants : layout의 properties 이다. 별도로 지정할 수 있다.
XML files
<UIStackView
alignment="center"
axis="vertical"
width="100%"
height="50%"
spacing="10">
<UILabel text="First {title}" />
<UILabel text="Second {title}" />
</UIStackView>
<UIView
backgroundColor="purple">
<UILabel
text="Hello world!@!@"
textColor="white"
center.y= "50%"
center.x= "50%"
font="40 bold"
>
</UILabel>
</UIView>
우리가 불러올 XML 파일들이다. (그냥 예시!)
아래는 xml에서 지정할 수 있는 가장 기본적인 layout prperties들이다.
top
left
bottom
right
leading
trailing
width
height
center.x
center.y
screenshot 📱
'📱 iOS' 카테고리의 다른 글
[iOS/Swift] Apple Map 사용하기 (CLLocation으로 내 위치 이동하기, 원하는 지역으로 이동하기) (1) | 2020.06.26 |
---|---|
[iOS/Swift] NavigationBar with Gradient Color , 네비게이션 바 커스텀하기 (0) | 2020.06.08 |
[iOS/Swift] AVAudioPlayer 를 사용한 MusicPlayer 만들기 (0) | 2020.05.25 |
[iOS/Swift] URLSession 으로 API 연결하기 (0) | 2020.05.23 |
[iOS/Swift] Macaw 라이브러리 사용하기 (Animated Chart 그리기) (0) | 2020.05.13 |