正確繪製我子類的UIAlertView中如下:子類UIAlertView中沒有的iOS 4.2
@interface NarrationAlertView : UIAlertView {
UIImage * backgroundImage; //The image I want as custom background
UILabel * textualNarrationView; //The test I wanna be displayed on the view
}
並實現了這種方式:
- (id)initNarrationViewWithImage:(UIImage *)image{
if (self = [super init]){
UILabel * alertTextLabel = [[UILabel alloc] initWithFrame:CGRectZero];
self.textualNarrationView = alertTextLabel;
[alertTextLabel release];
[self addSubview:alertTextLabel];
}
return self;
}
- (void)drawRect:(CGRect)rect {
/* Here I draw the image as background */
CGSize imageSize = self.backgroundImage.size;
[self.backgroundImage drawInRect:CGRectMake(0, 0, imageSize.width, imageSize.height)];
}
- (void)layoutSubviews {
/* To fit the text */
[textualNarrationView sizeToFit];
CGRect textRect = textualNarrationView.frame;
textRect.origin.x = (CGRectGetWidth(self.bounds) - CGRectGetWidth(textRect))/2;
textRect.origin.y = (CGRectGetHeight(self.bounds) - CGRectGetHeight(textRect))/2;
textRect.origin.y -= 70;
textualNarrationView.frame = textRect;
}
- (void)show{
/* Showing the view */
[super show];
CGSize imageSize = self.backgroundImage.size;
self.bounds = CGRectMake(0, 0, imageSize.width, imageSize.height);
}
在iOS上的以前的版本(我總是在模擬器上測試)子類運行良好,並在顯示時顯示正確繪製的自定義背景圖像,並且就是其上的文本,而在4.2版本中,它繪製了UIAlertView經典背景(藍色圓角矩形)頂部我的形象。
我在做什麼錯?不勝感激任何有關UIAlertView編程和UIView的建議。
UPDATE是否有人有一些UIAlertView替換類共享?
我擔心的是,你怎麼樣完成的彈出效果與背景陰影視景? – rano 2010-11-24 20:01:31
實際上,我們對UI採取了不同的方式,過去的彈出窗口現在從屏幕頂部向下滑動/向上滑動。我確實研究了複製彈出效果,並發現這個有用的鏈接:http://delackner.com/blog/2009/12/mimicking-uialertviews-animated-transition/ – 2010-11-24 20:04:30