디자인 커스터마이징
이 페이지에서는 BuzzAd iOS용 SDK에서 제공하는 UI의 디자인을 변경하기 위한 방법을 확인할 수 있습니다.
✏️ 참고
추가적인 디자인 변경을 원하는 경우, 고급 설정 토픽을 참고해 UI를 직접 구현하세요.
피드 배경 색상 변경하기
✅ 중요
이 기능은 BuzzAd iOS용 SDK v3.21.x부터 사용할 수 있습니다.
피드의 배경 색상을 변경할 수 있습니다.
피드의 배경 색상을 변경하려면 다음의 예시를 참고하세요.
✏️ 참고
피드의 배경 색상을 지정하고 탭의 디자인을 따로 변경하지 않았다면, 피드의 배경 색상이 탭의 배경으로 자동 적용됩니다.
- Swift
- Objective-C
// BZVBuzzAdFeedTheme 설정을 통해 색상 등 UI 구성 요소를 변경할 수 있습니다.
let buzzAdFeedTheme = BZVBuzzAdFeedTheme { (builder: BZVBuzzAdFeedThemeBuilder) in
builder.feedBackgroundColor = UIColor.YOUR_BACKGROUND_COLOR
// ...생략...
}
BZVBuzzAdFeed.setDefaultTheme(buzzAdFeedTheme)
// BZVBuzzAdFeedTheme 설정을 통해 색상 등 UI 구성 요소를 변경할 수 있습니다.
BZVBuzzAdFeedTheme *buzzAdFeedTheme = [BZVBuzzAdFeedTheme themeWithBlock:^(BZVBuzzAdFeedThemeBuilder * _Nonnull builder) {
builder.feedBackgroundColor = UIColor.YOUR_BACKGROUND_COLOR;
// ...생략...
}];
[BZVBuzzAdFeed setDefaultTheme:buzzAdFeedTheme];
탭 디자인 변경하기
피드 탭이 활성화되어 있는 경우, 탭의 UI 디자인을 변경할 수 있습니다.
탭 UI 디자인을 변경하려면 다음의 예시를 참고하세요.
✏️ 참고
사용자 경험을 고려하여tabTextColor
와 같은BZVControlStateResource
타입은 인스턴스를 생성할 때 상태에 따라 다른 리소스를 설정하는 것을 권장합니다.
- Swift
- Objective-C
// BZVBuzzAdFeedTheme 설정을 통해 색상 등 UI 구성 요소를 변경할 수 있습니다.
let buzzAdFeedTheme = BZVBuzzAdFeedTheme { (builder: BZVBuzzAdFeedThemeBuilder) in
// ...생략...
builder.tabBackgroundColor = UIColor.YOUR_BACKGROUND_COLOR
builder.tabTextColor = BZVControlStateResource { builder in
builder.setValue(UIColor.YOUR_TEXT_NORMAL_COLOR, for: .normal)
builder.setValue(UIColor.YOUR_TEXT_HIGHLIGHT_COLOR, for: .highlight)
}
builder.tabIndicatorColors = BZVControlStateResource { builder in
builder.setValue(UIColor.YOUR_INDICATOR_NORMAL_COLOR, for: .normal)
builder.setValue(UIColor.YOUR_INDICATOR_HIGHLIGHT_COLOR, for: .highlight)
}
}
BZVBuzzAdFeed.setDefaultTheme(buzzAdFeedTheme)
// BZVBuzzAdFeedTheme 설정을 통해 색상 등 UI 구성 요소를 변경할 수 있습니다.
BZVBuzzAdFeedTheme *buzzAdFeedTheme = [BZVBuzzAdFeedTheme themeWithBlock:^(BZVBuzzAdFeedThemeBuilder * _Nonnull builder) {
// ...생략...
builder.tabBackgroundColor = UIColor.YOUR_BACKGROUND_COLOR;
builder.tabTextColor = [BZVControlStateResource resourceWithBlock:^(BZVControlStateResourceBuilder * _Nonnull builder) {
[builder setValue:UIColor.YOUR_TEXT_NORMAL_COLOR forState:BZVControlStateNormal];
[builder setValue:UIColor.YOUR_TEXT_HIGHLIGHT_COLOR forState:BZVControlStateHighlight];
}];
builder.tabIndicatorColors = [BZVControlStateResource resourceWithBlock:^(BZVControlStateResourceBuilder * _Nonnull builder) {
[builder setValue:UIColor.YOUR_INDICATOR_NORMAL_COLOR forState:BZVControlStateNormal];
[builder setValue:UIColor.YOUR_INDICATOR_HIGHLIGHT_COLOR forState:BZVControlStateHighlight];
}];
}];
[BZVBuzzAdFeed setDefaultTheme:buzzAdFeedTheme];
필터 디자인 변경하기
피드 필터가 활성화되어 있는 경우, 필터의 UI 디자인을 변경할 수 있습니다.
필터 UI 디자인을 변경하려면 다음의 예시를 참고하세요.
✏️ 참고
사용자 경험을 고려하여filterTextColor
,filterBackgroundColor
와 같은BZVControlStateResource
타입은 인스턴스를 생성할 때 상태에 따라 다른 리소스를 설정하는 것을 권장합니다.
- Swift
- Objective-C
let buzzAdFeedTheme = BZVBuzzAdFeedTheme { (builder: BZVBuzzAdFeedThemeBuilder) in
// ...생략...
builder.filterBackgroundColor = BZVControlStateResource { builder in
builder.setValue(UIColor.YOUR_BACKGROUND_NORMAL_COLOR, for: .normal)
builder.setValue(UIColor.YOUR_BACKGROUND_HIGHLIGHT_COLOR, for: .highlight)
}
builder.filterTextColor = BZVControlStateResource { builder in
builder.setValue(UIColor.YOUR_TEXT_NORMAL_COLOR, for: .normal)
builder.setValue(UIColor.YOUR_TEXT_HIGHLIGHT_COLOR, for: .highlight)
}
}
BZVBuzzAdFeed.setDefaultTheme(buzzAdFeedTheme)
BZVBuzzAdFeedTheme *buzzAdFeedTheme = [BZVBuzzAdFeedTheme themeWithBlock:^(BZVBuzzAdFeedThemeBuilder * _Nonnull builder) {
// ...생략...
builder.filterBackgroundColor = [BZVControlStateResource resourceWithBlock:^(BZVControlStateResourceBuilder * _Nonnull builder) {
[builder setValue:UIColor.YOUR_BACKGROUND_NORMAL_COLOR forState:BZVControlStateNormal];
[builder setValue:UIColor.YOUR_BACKGROUND_HIGHLIGHT_COLOR forState:BZVControlStateHighlight];
}];
builder.filterTextColor = [BZVControlStateResource resourceWithBlock:^(BZVControlStateResourceBuilder * _Nonnull builder) {
[builder setValue:UIColor.YOUR_TEXT_NORMAL_COLOR forState:BZVControlStateNormal];
[builder setValue:UIColor.YOUR_TEXT_HIGHLIGHT_COLOR forState:BZVControlStateHighlight];
}];
}];
[BZVBuzzAdFeed setDefaultTheme:buzzAdFeedTheme];
지면 구분선 디자인 변경하기
피드의 광고 및 콘텐츠 구분선의 디자인을 변경할 수 있습니다.
지면 구분선 디자인을 변경하려면 다음의 예시를 참고하세요.
- Swift
- Objective-C
// BZVBuzzAdFeedTheme 설정을 통해 색상 등 UI 구성 요소를 변경할 수 있습니다.
let buzzAdFeedTheme = BZVBuzzAdFeedTheme { (builder: BZVBuzzAdFeedThemeBuilder) in
// ...생략...
builder.separatorColor = UIColor.YOUR_SEPARATOR_COLOR
builder.separatorHeight = YOUR_SEPARATOR_HEIGHT
builder.separatorHorizontalMargin = YOUR_SEPARATOR_HORIZONTAL_MARGIN
}
BZVBuzzAdFeed.setDefaultTheme(buzzAdFeedTheme)
BZVBuzzAdFeedTheme *buzzAdFeedTheme = [BZVBuzzAdFeedTheme themeWithBlock:^(BZVBuzzAdFeedThemeBuilder * _Nonnull builder) {
// ...생략...
builder.separatorColor = UIColor.YOUR_SEPARATOR_COLOR;
builder.separatorHeight = YOUR_SEPARATOR_HEIGHT;
builder.separatorHorizontalMargin = YOUR_SEPARATOR_HORIZONTAL_MARGIN;
}];
[BZVBuzzAdFeed setDefaultTheme:buzzAdFeedTheme];
CTA 버튼 디자인 변경하기
BuzzAd iOS용 SDK에서 제공하는 CTA 버튼의 디자인을 변경할 수 있습니다.
다음은 BZVBuzzAdFeedTheme
에서 구성 요소를 설정해 피드 지면의 CTA 버튼 디자인을 변경하는 예시입니다.
✏️ 참고
CTA textColor 및 backgroundColor는BZVControlState.normal
상태의 색상만 적용됩니다.
추가적인 커스터마이징을 원하는 경우, CTA 버튼 자체 구현하기 토픽을 참고해 UI를 직접 구현하세요.
- Swift
- Objective-C
let buzzAdFeedTheme = BZVBuzzAdFeedTheme { (builder: BZVBuzzAdFeedThemeBuilder) in
// ...생략...
builder.rewardIcon = UIImage(named: "YOUR_REWARD_ICON")!
builder.participatedIcon = UIImage(named: "YOUR_PARTICIPATED_ICON")!
builder.ctaTextColor = BZVControlStateResource { builder in
builder.setValue(UIColor.YOUR_CTA_TEXT_NORMAL_COLOR, for: .normal)
}
builder.ctaBackgroundColor = BZVControlStateResource { builder in
builder.setValue(UIColor.YOUR_CTA_BACKGROUND_NORMAL_COLOR, for: .normal)
}
}
BZVBuzzAdFeed.setDefaultTheme(buzzAdFeedTheme)
BZVBuzzAdFeedTheme *buzzAdFeedTheme = [BZVBuzzAdFeedTheme themeWithBlock:^(BZVBuzzAdFeedThemeBuilder * _Nonnull builder) {
// ...생략...
builder.rewardIcon = [UIImage imageNamed:@"YOUR_REWARD_ICON"];
builder.participatedIcon = [UIImage imageNamed:@"YOUR_PARTICIPATED_ICON"];
builder.ctaTextColor = [BZVControlStateResource resourceWithBlock:^(BZVControlStateResourceBuilder * _Nonnull builder) {
[builder setValue:UIColor.YOUR_CTA_TEXT_NORMAL_COLOR forState:BZVControlStateNormal];
}];
builder.ctaBackgroundColor = [BZVControlStateResource resourceWithBlock:^(BZVControlStateResourceBuilder * _Nonnull builder) {
[builder setValue:UIColor.YOUR_CTA_BACKGROUND_NORMAL_COLOR forState:BZVControlStateNormal];
}];
}];
[BZVBuzzAdFeed setDefaultTheme:buzzAdFeedTheme];