如何更改提醒背景?我们可以改变立场吗? 我的意思是可以向上或向下显示它吗?
是否有可用的示例代码?
提前致谢。
答案 0 :(得分:2)
您无法通过任何Apple支持的API方法。自定义UIAlertView外观的建议方法是创建自己的。
答案 1 :(得分:2)
来自iPhone Human Interface Guidelines:
您可以指定文字,数字 按钮和按钮内容 警报,但你无法自定义 警报的背景外观 本身。
除非您有充分的理由想要自定义警报的背景颜色或其他属性,否则请不要这样做。您的应用程序将与系统的其他部分冲突,并且可能因违反上述人机界面指南而被拒绝。同样,来自iPhone Human Interface Guidelines:
因为用户习惯了 这些的外观和行为 观点,使用它们很重要 一贯正确地在你的 应用
答案 2 :(得分:1)
你可以改变颜色。但是我没有关于position.Create继承自Alert.In drawRect的CustomAlert:你可以在CGContextSetRGBFillColor方法中指定你想要的颜色。 这是实施。 @implementation CustomAlert
- (id)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
// Initialization code
}
return self;
}
// Method which will draw the actual view
- (void)drawRect:(CGRect)rect {
CGContextRef context=UIGraphicsGetCurrentContext();
UIColor *color = [UIColor purpleColor];
const CGFloat *arr= CGColorGetComponents(color.CGColor);
CGContextSetRGBStrokeColor(context,0, 0, 0, 1.0);
CGContextSetRGBFillColor(context, arr[0], arr[1], arr[2], 0.85);
CGContextSetLineWidth(context, 1.0);
addRoundedRectToPath(context, rect);
// Drawing final path
CGContextDrawPath(context, kCGPathFill);
}
- (void)dealloc {
[super dealloc];
}
@end
static void addRoundedRectToPath(CGContextRef context, CGRect rect){
CGFloat radius = 10;
CGFloat minx = CGRectGetMinX(rect), midx = CGRectGetMidX(rect), maxx = CGRectGetMaxX(rect);
CGFloat miny = CGRectGetMinY(rect), midy = CGRectGetMidY(rect), maxy = CGRectGetMaxY(rect);
CGContextMoveToPoint(context, minx, midy);
// Add an arc through 2 to 3
CGContextAddArcToPoint(context, minx, miny, midx, miny, radius);
// Add an arc through 4 to 5
CGContextAddArcToPoint(context, maxx, miny, maxx, midy, radius);
// Add an arc through 6 to 7
CGContextAddArcToPoint(context, maxx, maxy, midx, maxy, radius);
// Add an arc through 8 to 9
CGContextAddArcToPoint(context, minx, maxy, minx, midy, radius);
CGContextClosePath(context);
}