Я подклассы в UIAlertView следующим образом:подклассы UIAlertView не рисуются правильно прошивка 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);
}
На предыдущих версиях прошивки (я всегда проверяя на симуляторе), подкласс работает нормально, и когда он отображается, он отображает правильно настроенное фоновое изображение и просто текст, тогда как в версии 4.2 он рисует классический фон UIAlertView (синий прямоугольник с округлыми углами) сверху моего изображения.
Что я делаю неправильно? Любое предложение о программировании UIAlertView и UIView тоже будет оценено.
ОБНОВЛЕНИЕ У кого-нибудь есть класс замены UIAlertView?
Я боялся, что, как бы вы сделали эффект раскрывающегося в сочетании с фоновой тенью зрения? – rano 2010-11-24 20:01:31
На самом деле мы по-другому поменялись с пользовательским интерфейсом, то, что раньше было всплывающим, теперь скользит вниз или скользит вверху экрана. Я просмотрел репликацию всплывающего эффекта и нашел эту полезную ссылку: http: //delackner.com/blog/2009/12/mimicking-uialertviews-animated-transition/ – 2010-11-24 20:04:30