我正在使用Apptentive,我正在尝试自定义同一个消息中心。我想更改" ApptentiveColorContextBackground"颜色,但我无法弄清楚它改变的地方link表示用户可以修改用户界面。
任何帮助都会很棒。!
已编辑: -
试过这个
在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];
}
}
答案 0 :(得分: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
或做一个公平的返回所有样式/颜色的有效颜色和字体的工作量。