我正在开发一个ipad应用程序,它将有两个目标,但颜色主题将对目标不同,例如在Target1中,所选按钮的字体颜色将为红色,而在Target2中,所选按钮的字体颜色将为绿色。我想知道在界面构建器本身中这是否可行?
提前致谢!!
答案 0 :(得分:2)
您可以使用预处理器宏。选择目标,转到目标的构建设置部分,找到预处理器Marcro 并为每个目标添加新宏(例如,针对您的Target1)第一个目标和第二个目标的Target2)。现在您可以使用代码:
#ifdef Target1
//code for your first target
#elif Target2
//code for your second target
#endif
我希望它会对你有帮助; - )
答案 1 :(得分:0)
您可以使用以下解决方案:
// h文件
@interface AppTheme : NSObject
@property (nonatomic) UIColor *backgroundColor;
@property (nonatomic) UIColor *buttonTextColor;
//and so on.
//you can create classes or protocols for curtain elements of your app
//
@property (nonatomic) ButtonStyle *defaultButtonStyle;
@property (nonatomic) ButtonStyle *destroyButtonStyle;
//and so on where
// Button style has titleColor, titleFont, background and ect.
@end
AppTheme + A.m,您可以在其中定义主题,如下所示:
@implementation
- (instancetype)init {
if (self = [super init]){
self.backgroundColor = [UIColor black];
self.buttonTextColor = [UIColor white];
//and so on
}
return self;
}
@end
对于目标B,您可以创建其他文件: AppTheme + B.m,您可以在其中定义主题:
@implementation
- (instancetype)init {
if (self = [super init]){
self.backgroundColor = [UIColor pinkColor];
self.buttonTextColor = [UIColor yellowColor];
//and so on
}
return self;
}
@end