UITextView iPhone中的渐变效果?

时间:2013-08-21 10:33:32

标签: iphone ios uitextview gradient

我正在开发一个需要在UITextView中实现中心渐变的项目。它必须像附加图像。我不能在UITextView的上部使用任何图像,因为我想在UITextView中进行用户交互。请提供您的建议。感谢

enter image description here

2 个答案:

答案 0 :(得分:4)

  

如果在UITextView上应用CAGRradient Layer并设置[txtView.layer setMask:gradient],这将产生问题,而滚动意味着渐变层将滚动。   要克服此问题,必须使用UiView作为textView的容器视图。首先添加容器视图,然后在容器视图中将文本视图添加为子视图。然后使用这段代码来拯救我的生命。

 CAGradientLayer  gradient = [CAGradientLayer layer];
    gradient.frame = view_bottomMenu.bounds;
    gradient.colors = [NSArray arrayWithObjects:(id)[[[UIColor blackColor colorWithAlphaComponent:0.2] CGColor],(id)[[[UIColor blackColor] colorWithAlphaComponent:0.3] CGColor],(id)[[[UIColor blackColor] colorWithAlphaComponent:0.3] CGColor],(id)[[[UIColor blackColor] colorWithAlphaComponent:0.3] CGColor],  (id)[[[UIColor clearColor] colorWithAlphaComponent:1.0] CGColor], (id)[[[UIColor blackColor] colorWithAlphaComponent:0.3] CGColor],(id)[[[UIColor blackColor] colorWithAlphaComponent:0.3] CGColor],(id)[[[UIColor blackColor] colorWithAlphaComponent:0.3] CGColor],
                       (id)[[[UIColor blackColor] colorWithAlphaComponent:0.2] CGColor], nil];

    gradient.startPoint = CGPointMake(0.0f,0.0f);
    gradient.endPoint = CGPointMake(0.0f, 1.0f);

    [view_bottomMenu.layer setMask:gradient];
  

其中view_bottomMenu是UIView作为容器视图。我的输出。   enter image description here

答案 1 :(得分:0)

要实现此类效果,您必须在UItextView上实施屏蔽。请检查

Applying CAGradient mask layer to UITextView

这显示了如何更改颜色并淡化UITextView的某些部分。