Danke für die Anregung @mackworth, die zur Lösung
Der Vollständigkeit führte ich es bin zu beantworten.
Übersicht:
Es scheint einige Probleme beim Hinzufügen subview auf UITextView
zu sein und dann Automatische Anordnung verwenden.
Lösung:
So ist die Lösung ist, die HazeView als Subview der übergeordneten Ansicht von UITextView
zu erstellen.
Schritte:
- erstellen
UITextView
- erstellen HazeView (Unterklasse von UIView)
- sowohl
UITextView
hinzufügen und HazeView
als Subview auf die gleiche übergeordnete Ansicht
- Position
HazeView
bei der Unterseite der UITextView
- Stellen Sie sicher, dass die Hintergrundfarbe r von HazeView ist
[UIColor clearColor]
- deaktivieren Benutzer-Interaktion auf
HazeView
- Am besten ist es eine Unterklasse von
UIView
zu schaffen und die UITextView
und HazeView
im Inneren, dass setzen, so dass es
Erstellen HazeView wiederverwendbar sein kann:
self.hazeView.backgroundColor = [UIColor clearColor];
HazeView
ist eine Unterklasse von UIView
- (void)drawRect:(CGRect)rect
{
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = UIGraphicsGetCurrentContext();
UIColor *color1 = [UIColor colorWithRed:1.0 green:1.0
blue:1.0 alpha:0.25];
UIColor *color2 = [UIColor colorWithRed:1.0 green:1.0
blue:1.0 alpha:0.5];
UIColor *color3 = [UIColor colorWithRed:1.0 green:1.0
blue:1.0 alpha:0.75];
NSArray *gradientColors = @[(id) color1.CGColor,
(id) color2.CGColor,
(id) color3.CGColor];
CGFloat gradientLocations[] = {0, 0.50, 1};
CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, (__bridge CFArrayRef) gradientColors, gradientLocations);
CGPoint startPoint = CGPointMake(CGRectGetMidX(rect), CGRectGetMinY(rect));
CGPoint endPoint = CGPointMake(CGRectGetMidX(rect), CGRectGetMaxY(rect));
CGContextDrawLinearGradient(context, gradient, startPoint, endPoint, 0);
CGGradientRelease(gradient);
}
Siehe möglich besseren Ansatz hier: http://stackoverflow.com/questions/12845590/applying-cagradient-mask-layer-to-uitextview – mackworth
Danke, Ihr Vorschlag zur endgültigen Lösung führte – user1046037