1

我正在使用 Apptentive,并且我正在尝试自定义相同的消息中心。我想更改“ApptentiveColorContextBackground”颜色,但我无法弄清楚它从哪里更改链接说用户可以修改 UI。

任何帮助都会很棒。!

编辑:-

试过这个

在 ApptentiveMessageCenterViewController.m

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    switch ([self.dataSource cellTypeAtIndexPath:indexPath]) {
        case ATMessageCenterMessageTypeMessage:
        case ATMessageCenterMessageTypeCompoundMessage:

            [(ApptentiveStyleSheet *)Apptentive.shared.styleSheet setColor:[UIColor redColor] forStyle:ApptentiveColorMessageBackground];
            cell.contentView.backgroundColor = [[Apptentive sharedConnection].styleSheet colorForStyle:ApptentiveColorMessageBackground];

            break;
        case ATMessageCenterMessageTypeReply:
        case ATMessageCenterMessageTypeCompoundReply:
            cell.contentView.backgroundColor = [[Apptentive sharedConnection].styleSheet colorForStyle:ApptentiveColorReplyBackground];

        case ATMessageCenterMessageTypeContextMessage:

            [(ApptentiveStyleSheet *)Apptentive.shared.styleSheet setColor:[UIColor redColor] forStyle:ApptentiveColorContextBackground];

            cell.contentView.backgroundColor = [[Apptentive sharedConnection].styleSheet  colorForStyle:ApptentiveColorContextBackground];

    }
}
4

1 回答 1

0

初始化时,Apptentive单例将其styleSheet属性设置为ApptentiveStyleSheet.

您可以修改一些内置的颜色属性(前景、背景等),所有其他颜色都是从这些属性派生的。

您还可以按如下方式覆盖特定颜色(或字体)(Swift):

if let style = Apptentive.sharedConnection().styleSheet as? ApptentiveStyleSheet {
    style.setColor(UIColor.red, forStyle: ApptentiveColorContextBackground)
}

或者在 Objective-C 中:

[(ApptentiveStyleSheet *)Apptentive.shared.styleSheet setColor:[UIColor redColor] forStyle:ApptentiveColorContextBackground];

您需要在应用程序生命周期的早期执行这些覆盖,例如在-application:didFinishLaunchingWithOptions:.

您还可以创建自己的实现ApptentiveStyle协议的对象(并将其设置在Apptentive单例上),但是您必须进行子类ApptentiveStyleSheet化或做大量工作才能为所有样式/颜色返回有效的颜色和字体。

于 2017-06-02T13:30:47.917 回答