Iphone 更改警报视图的颜色
如何将警报视图框的颜色从蓝色更改为黑色Iphone 更改警报视图的颜色,iphone,objective-c,cocoa-touch,xcode,Iphone,Objective C,Cocoa Touch,Xcode,如何将警报视图框的颜色从蓝色更改为黑色 任何人请帮忙 不,你不能。您必须创建一个自定义视图,并使用presentModalViewController来显示它,猜测您想要这样的东西: 为了实现这一点,我只是对alert视图进行了子类化,以便在中添加一些自己的代码 我创建了一个背景图像视图,在其中放置了一个黑色版本的警报框 当调用drawRect时,我将调整背景图像视图的大小,使其具有正确的高度和宽度 这有点像黑客,但它没有违反苹果制定的任何准则(我现在在商店里有一个应用程序正在使用这个) 为了
任何人请帮忙 不,你不能。您必须创建一个自定义视图,并使用presentModalViewController来显示它,猜测您想要这样的东西: 为了实现这一点,我只是对alert视图进行了子类化,以便在中添加一些自己的代码 我创建了一个背景图像视图,在其中放置了一个黑色版本的警报框 当调用drawRect时,我将调整背景图像视图的大小,使其具有正确的高度和宽度 这有点像黑客,但它没有违反苹果制定的任何准则(我现在在商店里有一个应用程序正在使用这个) 为了得到一个好的背景图像,我只是从UI工具包中提取了图像(用谷歌搜索,你会知道怎么做),并制作了一个黑色版本而不是蓝色版本 这些按钮实际上是透明的,可以拾取它们下面的任何颜色。所以没有必要改变它们 希望有帮助 这确实是可能的。而且也很容易。总共大约5行代码;-) 编辑:Ask和yee将收到
@implementation BlackAlertView
- (void) drawRect:(CGRect) rect
{
//Force our background image to be the right size.
_backgroundImageView.frame = rect;
}
- (void) dealloc
{
ReleaseAndNull(_backgroundImageView);
[super dealloc];
}
- (void)show
{
UIImage *alertBoxImage = [[UIImage imageNamed:@"UIPopupAlertSheetBackground_black.png"] stretchableImageWithLeftCapWidth:0 topCapHeight:40];
_backgroundImageView = [[UIImageView alloc] initWithImage:alertBoxImage];
[self addSubview:_backgroundImageView];
[self sendSubviewToBack:_backgroundImageView];
[super show];
}
@end
就像我说的,它不是purdy,事实上,它不止5行。但它完成了任务
克里斯。对不起,我弄错了。。这应该是UIImage而不是ImageCache(我有自己的图像缓存组件,它在我从中提取此代码的项目中使用)。我已经编辑了上面的代码来纠正这一点。