这种类型的自定义会被视为App Store的安全吗?
UIColor *veBlueColor = [UIColor colorWithRed:3.0/255.0 green:147.0/255.0 blue:215.0/255.0 alpha:1];
UIColor *veRedColor = [UIColor colorWithRed:242.0/255.0 green:93.0/255.0 blue:69.0/255.0 alpha:1];
for (UIView *subview in actionSheet.subviews) {
if ([subview isKindOfClass:[UIButton class]]) {
UIButton *button = (UIButton*)subview;
UIColor *buttonColor = [button titleColorForState:UIControlStateNormal];
NSString *buttonColorString = [buttonColor description];
UIColor *destructiveColor = [UIColor colorWithRed:0.992157 green:0.278431 blue:0.168627 alpha:1];
NSString *destructiveColorString = [destructiveColor description];
bool isDestructiveButton = ([buttonColorString isEqual:destructiveColorString]?YES:NO);
if (!isDestructiveButton) {
[button setTitleColor:veBlueColor forState:UIControlStateNormal];
}
else {
[button setTitleColor:veRedColor forState:UIControlStateNormal];
}
}
}
我已经阅读了人机界面指南,但总是有“灰色区域”,并且谷歌搜索返回了很多人声称他们已经到达那里应用程序批准了Apple明确禁止的自定义。
所以我的问题是,您对“轻”定制的体验是什么?
答案 0 :(得分:0)
在我看来,这不安全。 Apple文档明确指出:“UIActionSheet不是设计为子类,也不应该为其层次结构添加视图。如果您需要提供比UIActionSheet API提供的更多自定义的工作表,您可以创建自己的工作表并以模态方式呈现它with presentViewController:animated:completion:。“
在这种情况下,您不是要添加子视图,而是实际上正在检索已经存在的子视图并自定义它们 - 从Apple的角度来看,我认为它非常相似。
如果UIActionSheet API对您的需求过于严格,我建议您创建自己的ActionSheet。 (我建议你看一下Git Hub,因为有不同的解决方案可能适合你)。