iOS에서 'ToastMessage'를 띄우기 위한 라이브러리로, 별도의 ThirdParty Library 없이 개발되었습니다.
기본값이 정해져있지만, 사용자는 ToastDesign, ToastLayout, ToastAnimation, ToastDirection을 기반으로 커스텀 가능합니다.
또한 이미지를 추가할 수 있습니다.
기본 사용 방법은 아래와 같습니다.
import Toast
func showToast() {
Toast.showToast(message: "Toast Message")
}dependencies: [
.package(url: "https://github.com/Guboneui/Toast", .upToNextMajor(from: "1.0.0"))
]showToast() 다음과 같이 구성됩니다.
- message: 토스트 메세지를 지정합니다.
- image: 토스트 좌측에 추가할 이미지를 지정합니다. 타입은
UIImage입니다. - design:
ToastDesign타입으로 배경색, 텍스트 컬러 및 폰트를 지정합니다. - layout:
ToastLayout타입으로 토스트 및 내부 요소의 레이아웃을 지정합니다. - animation:
ToastAnimation타입으로show,hide에 대한 애니메이션을 지정합니다. - direction:
ToastDirection타입으로 토스트 생성 방향을 지정합니다. - addHideGesture:
true로 지정할 경우, swipe, tap 제스처를 통해 토스트 메세지가 사라집니다.
토스트의 디자인을 커스텀 할 수 있습니다.
- bgColor:
UIColor타입으로 배경색을 지정합니다. 기본 색상은.black입니다. - textColor:
UIColor타입으로 메세지 텍스트 색상을 지정합니다. 기본 색상은.white입니다. - textFont:
UIFont타입으로 메세지 텍스트 폰트를 지정합니다. 기본 폰트는.systemFont(ofSize: 14, weight: .medium)입니다. - cornerRadius:
CGFloat타입으로 cornerRadius 값을 지정합니다. 기본값은4.0입니다.
func showToast() {
let toastDesign: ToastDesign = ToastDesign(
bgColor: .green.withAlphaComponent(0.8),
textColor: .blue,
textAlignment: .center,
textFont: UIFont.systemFont(ofSize: 24, weight: .bold),
cornerRadius: 0
)
Toast.showToast(
message: "Toast Message",
design: toastDesign
)
}토스트의 레이아웃을 커스텀 할 수 있습니다.
- imageSize:
CGSize?타입으로 이미지 추가 시 크기를 지정합니다. 기본 크기는CGSize(width: 18, height: 18)입니다. - imageLabelOffset:
CGFloat타입으로 이미지와 메세지 간격을 설정합니다. 기본 간격은8.0입니다. - toastOffset:
CGFloat타입으로 토스트가 얼마나 올라올지 또는 내려갈지를 설정합니다. 기본 값은12.0입니다. - toastHorizontalMargin:
CGFloat타입으로 토스트 뷰의 마진을 설정합니다. 기본 값은20.0입니다. - contentsHorizontalMargin:
CGFloat타입으로 토스트 내부 Horizontal 마진을 설정합니다. 기본 값은20.0입니다. - contentsVerticalMargin:
CGFloat타입으로 토스트 내부 Vertical 마진을 설정합니다. 기본 값은12.0입니다.
func showToast() {
let toastLayout: ToastLayout = ToastLayout(
imageSize: CGSize(width: 40, height: 40),
imageLabelOffset: 0,
toastOffset: 24,
toastHorizontalMargin: 40.0,
contentsHorizontalMargin: 0.0,
contentsVerticalMargin: 0.0
)
Toast.showToast(
message: "Toast With Custom Layout",
image: UIImage(systemName: "heart.fill")!,
layout: toastLayout
)
}토스트의 애니메이션을 커스텀 할 수 있습니다.
- showDuringTime:
TimeInterval타입으로 토스트가 보여지기 까지의 애니메이션 시간을 지정합니다. 기본값은0.3초입니다. - showAnimation:
AnimationOptions타입입니다. 기본값은.curveEaseIn입니다. - waitTime:
TimeInterval타입으로 토스트 유지 시간입니다. 기본값은1.7초입니다. - hideDuringTime:
TimeInterval타입으로 토스트가 사라지기 까지의 애니메이션 시간을 지정합니다. 기본값은0.3초입니다. - hideAnimation:
AnimationOptions타입입니다. 기본값은.curveEaseOut입니다. - addAlphaEffect:
Bool타입으로 토스트 생성 시 alpha값을 0.0 -> 1.0 으로 변경할지 여부를 지정합니다. 기본값은true입니다. - completion:
(()->())?타입으로 토스트가 사라진 후 특정 액션이 필요한 경우 사용합니다. 기본값은nil입니다.
func showToast() {
let toastAnimation: ToastAnimation = ToastAnimation(
showDuringTime: 1.0,
showAnimation: .curveEaseInOut,
hideDuringTime: 1.0,
hideAnimation: .curveEaseInOut,
completion: toastCompletion
)
Toast.showToast(
message: "Toast With Custom Animation",
animation: toastAnimation
)
}에러 및 요청 사항은 starku2249@naver.com으로 남겨주시면 수정 후 반영하도록 하겠습니다 :)




