티스토리 뷰
반응형

iOS에서 Floating 버튼 만들기
플로팅 버튼(Floating Button)은 화면의 특정 위치에 고정되어 언제든지 클릭할 수 있는 버튼입니다. 주로 사용자가 빠르게 액션을 실행할 수 있도록 하는 UI 요소입니다. 아래 예제에서는 iOS 앱에서 오른쪽 하단에 플로팅 버튼을 코드로 만드는 방법을 설명하겠습니다.
1. UIButton 생성 및 초기 설정
우선, UIButton을 생성하고 필요한 속성을 설정합니다. 이 버튼은 화면 오른쪽 하단에 고정되며, 사용자가 쉽게 접근할 수 있도록 둥근 모양으로 설정합니다.
import UIKit
class ViewController: UIViewController {
// 플로팅 버튼 생성
let floatingButton: UIButton = {
let button = UIButton(type: .system)
button.setTitle("+", for: .normal) // 버튼의 제목 설정
button.titleLabel?.font = UIFont.systemFont(ofSize: 24) // 글씨 크기 설정
button.setTitleColor(.white, for: .normal) // 텍스트 색상
button.backgroundColor = .systemBlue // 버튼 배경 색상
button.layer.cornerRadius = 30 // 둥근 버튼을 위한 코너 반경
button.translatesAutoresizingMaskIntoConstraints = false // 오토레이아웃 사용을 위해 false 설정
return button
}()
override func viewDidLoad() {
super.viewDidLoad()
// 버튼을 뷰에 추가
view.addSubview(floatingButton)
// 플로팅 버튼 제약 조건 설정
setupFloatingButton()
}
// 플로팅 버튼의 오토레이아웃 설정
func setupFloatingButton() {
NSLayoutConstraint.activate([
floatingButton.widthAnchor.constraint(equalToConstant: 60), // 버튼 너비
floatingButton.heightAnchor.constraint(equalToConstant: 60), // 버튼 높이
floatingButton.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -20), // 오른쪽 여백
floatingButton.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -20) // 아래쪽 여백
])
}
}
2. 설명
- UIButton 생성:
UIButton을 생성하고, 기본적인 속성(타이틀, 배경색, 코너 반경 등)을 설정합니다. 여기서는 플로팅 버튼이 둥근 형태로 보이도록layer.cornerRadius를 버튼 높이의 절반으로 설정하여 둥글게 만듭니다. - translatesAutoresizingMaskIntoConstraints 설정: 오토레이아웃을 사용하여 제약 조건을 설정하기 위해
translatesAutoresizingMaskIntoConstraints를false로 설정합니다. - 버튼 추가:
view.addSubview(floatingButton)를 사용하여 버튼을 메인 뷰에 추가합니다. - 오토레이아웃 설정:
NSLayoutConstraint.activate를 사용하여 버튼의 크기와 위치를 설정합니다.widthAnchor,heightAnchor로 버튼의 크기를 각각 60pt로 고정.trailingAnchor로 오른쪽 여백을 20pt로 설정.bottomAnchor로 아래쪽 여백을 20pt로 설정하여 화면 하단에 위치시킵니다.
3. 버튼의 액션 추가
버튼에 클릭 이벤트를 추가하려면 addTarget 메서드를 사용합니다. 예를 들어, 버튼을 클릭했을 때 "버튼이 눌렸습니다"라는 메시지를 콘솔에 출력하는 코드를 추가할 수 있습니다.
override func viewDidLoad() {
super.viewDidLoad()
// 버튼을 뷰에 추가
view.addSubview(floatingButton)
// 플로팅 버튼 제약 조건 설정
setupFloatingButton()
// 버튼 클릭 액션 설정
floatingButton.addTarget(self, action: #selector(floatingButtonTapped), for: .touchUpInside)
}
// 버튼 클릭 시 실행될 함수
@objc func floatingButtonTapped() {
print("플로팅 버튼이 눌렸습니다.")
}
위 코드에서 @objc로 선언된 floatingButtonTapped 함수가 버튼 클릭 시 실행됩니다. addTarget 메서드를 통해 버튼이 눌렸을 때 해당 함수가 호출되도록 설정합니다.
4. 마무리
이렇게 iOS에서 플로팅 버튼을 코드로 쉽게 구현할 수 있습니다. 오토레이아웃을 사용하여 버튼의 크기와 위치를 동적으로 설정할 수 있으며, addTarget을 사용하여 버튼 클릭 이벤트를 처리할 수 있습니다. 플로팅 버튼은 사용자 경험을 향상시키는 중요한 UI 요소이므로 적절히 활용하여 편리한 인터페이스를 제공할 수 있습니다.
반응형
'프로그래밍 > iOS' 카테고리의 다른 글
| iOS에서 Frame과 Bounds의 차이 (0) | 2024.09.23 |
|---|---|
| iOS Auto Layout을 코드로 작성하기 (0) | 2024.09.23 |
| ios에서 UIScene, UIWindow, UIWindowScene의 차이 (0) | 2024.09.12 |
| Swift if - guard 문법, 장단점 (0) | 2023.04.16 |
| swift 딕셔너리 사용법에 대해 알아보자. (0) | 2023.04.16 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- AI
- 카카오톡
- CSS
- 카톡업데이트
- Python
- 프로그래밍
- 생각
- 개발자
- Linux
- Frontend
- 내집마련
- Spring
- 주식투자
- go
- Java
- ChatGPT
- 부동산분석
- reactjs
- 오리역
- golang
- JavaScript
- SWiFT
- Backend
- openai
- ios
- 재테크
- 부동산
- HTML
- MacOS
- react
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함