Button(action: viewModel.sendMessage) {
Image(systemName: "paperplane.fill")
.font(.system(size: 26))
}
.disabled(viewModel.inputText.trimmingCharacters(in: .whitespaces).isEmpty)
//채팅창에 텍스트가 있을 때에만 버튼 활성화
//viewModel 부분 코드는 생략
이런식으로 버튼을 넣으면
활성화 시 시스템 기본 색상이 들어가고 (파란색)
비 활성화 시 자동으로 회색 처리 된다.


그런데 이렇게 파란 버튼은
너무 애플스럽기(?) 때문에 다른 색상으로 바꿔주고 싶었다.
만만한 .foregroundStyle을 썼는데 (구 .foregroundColor)
Button(action: viewModel.sendMessage) {
Image(systemName: "paperplane.fill")
.font(.system(size: 26))
.foregroundColor(.primary) // .black 등 원하는 색
}
.disabled(viewModel.inputText.trimmingCharacters(in: .whitespaces).isEmpty)

아예 색을 입혀버리는 거라서
비활성화 상태일 때도 그 색깔로 나온다.
이럴때는 .tint 를 쓰면 된다 (구 .accenctColor)
Button(action: viewModel.sendMessage) {
Image(systemName: "paperplane.fill")
.font(.system(size: 26))
.tint(.primary) // .black 등 원하는 색
}
.disabled(viewModel.inputText.trimmingCharacters(in: .whitespaces).isEmpty)


댓글