Ich habe eine UIAlertView wie folgt subclassed:Unterklasse UIAlertView nicht richtig in iOS 4.2 gezeichnet
@interface NarrationAlertView : UIAlertView {
UIImage * backgroundImage; //The image I want as custom background
UILabel * textualNarrationView; //The test I wanna be displayed on the view
}
Und es auf diese Weise umgesetzt:
- (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);
}
Auf den früheren Versionen von iOS (ich bin immer auf dem Simulator testen) die Unterklasse läuft gut und wenn es angezeigt wird angezeigt das benutzerdefinierte Hintergrundbild korrekt gezeichnet und nur Text darauf, während in der Version 4.2 es zeichnet den UIAlertView klassischen Hintergrund (die blauen abgerundeten Ecken Rechteck) oben meines Bildes.
Was mache ich falsch? Jeder Vorschlag über UIAlertView-Programmierung und UIView wird ebenfalls geschätzt.
UPDATE Hat jemand eine UIAlertView-Ersatzklasse zum Teilen?
ich befürchten, dass, wie haben Sie den Pop-up-Effekt mit der Hintergrund schattierte Ansicht kombiniert erreicht? – rano
Wir gingen eigentlich einen anderen Weg mit der UI, was früher ein Popup war, gleitet jetzt herunter/gleitet von oben nach oben. Ich habe in die Replikation des Pop-up-Effekts geschaut und diesen hilfreichen Link gefunden: http://delackner.com/blog/2009/12/mimicking-uialertviews-animated-transition/ –
Ty Ich werde es mir ansehen – rano