向UILabel添加两个阴影

蒂亚戈·维洛索(Tiago Veloso)

UILabel要添加两个阴影。

黑色阴影,白色阴影。

一个具有-1 y偏移,另一个具有1 y偏移。

- (void)layoutSubviews{
    [super layoutSubviews];

    self.sectionTitleLabel.layer.shadowColor = [[UIColor whiteColor] CGColor];
    self.sectionTitleLabel.layer.shadowRadius = 0.0f;
    self.sectionTitleLabel.layer.shadowOpacity = .2;
    self.sectionTitleLabel.layer.shadowOffset = CGSizeMake(0.f, -1.f);

    CALayer *blackShadow = [[CALayer alloc] initWithLayer:self.sectionTitleLabel.layer];

    blackShadow.shadowColor = [[UIColor blackColor] CGColor];
    blackShadow.shadowRadius = 0.0f;
    blackShadow.shadowOpacity = .4;
    blackShadow.shadowOffset = CGSizeMake(0.f, 1.f);
    [self.sectionTitleLabel.layer addSublayer:blackShadow];

    self.sectionTitleLabel.layer.masksToBounds = NO;
}

这样,白色阴影就会出现,而黑色阴影不会出现。

乔·哈伦贝克

我不明白“ UILabel的两个阴影”是什么意思,但我希望我能帮上忙。如果在这张照片上可以看到想要的东西,我会很高兴的:)

在此处输入图片说明

- (void)viewDidLoad
{
   [super viewDidLoad];

   NSMutableAttributedString* attString = [[NSMutableAttributedString alloc] initWithString:self.custLabel.text];
   NSRange range = NSMakeRange(0, [attString length]);

   [attString addAttribute:NSFontAttributeName value:self.custLabel.font range:range];
   [attString addAttribute:NSForegroundColorAttributeName value:self.custLabel.textColor range:range];

   NSShadow* shadow = [[NSShadow alloc] init];
   shadow.shadowColor = [UIColor whiteColor];
   shadow.shadowOffset = CGSizeMake(0.0f, 1.0f);
   [attString addAttribute:NSShadowAttributeName value:shadow range:range];

   self.custLabel.attributedText = attString;

   [self nextShadow];

}

 -(void)nextShadow
 {
     self.custLabel.layer.masksToBounds = NO;
     self.custLabel.layer.cornerRadius = 5; 
     self.custLabel.layer.shadowOffset = CGSizeMake(3, 0);
     self.custLabel.layer.shadowRadius = 5;
     self.custLabel.layer.shadowOpacity = 1.5;
 }

我会尝试使用

 - (void)addAttributes:(NSDictionary *)attrs range:(NSRange)range;

但是您不能使用2个阴影属性,而只能使用1个。您可以自定义

 -(void)nextShadow

例如,创建好的解决方案的方法

 -(void)nextShadow
 {
     self.custLabel.layer.masksToBounds = NO;
     self.custLabel.layer.cornerRadius = 1;
     self.custLabel.layer.shadowOffset = CGSizeMake(1, 0);
     self.custLabel.layer.shadowRadius = 1;
     self.custLabel.layer.shadowOpacity = 1.5;
 }

在此处输入图片说明

如果在-(void)nextShadow中调整值,则可以得到所需的值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

向 QComboBox 添加两个变量

来自分类Dev

如何向安装程序添加两个许可协议?

来自分类Dev

向QGraphicsScene添加项目的两个错误

来自分类Dev

向image.plot添加两个图例

来自分类Dev

向两个模板类添加模板类型名

来自分类Dev

向php-timestamp-script添加两个小时

来自分类Dev

如何向元素添加两个类

来自分类Dev

向HttpClient添加两个标头

来自分类Dev

向 rails 迁移添加两个关系

来自分类Dev

如何使两个UILabel并排显示?

来自分类Dev

PyQt4:如何向中央小部件添加两个对象并显示两个视频

来自分类Dev

动态地向行添加两个RadioButton和一个常规Button

来自分类Dev

添加两个对象?

来自分类Dev

添加两个列表

来自分类Dev

如何使用XMLService向元素添加两个命名空间?

来自分类Dev

在Xcode中向主视图添加两个表视图

来自分类Dev

向WP自定义字段添加两个值

来自分类Dev

如何使用D3.js向div中添加两个按钮?

来自分类Dev

如何从控制器向数据库添加两个特定值?

来自分类Dev

Jupyter Notebook-链接两个滑块小部件,以向值添加偏移量

来自分类Dev

如何向此HTML元素添加两个JavaScript函数

来自分类Dev

在Swift中像HORIZONTAL ViewPager一样向UIScrollView添加两个UIView

来自分类Dev

SwiftUI-向视图添加两个手势?

来自分类Dev

如何在python中向字典添加两个类别列表

来自分类Dev

如何在OnChangeText中向组件inputText添加两个状态

来自分类Dev

如何在情节提要中向ViewController添加两个UITableViews?

来自分类Dev

如何从两个表向C#中的comboBox添加项目?

来自分类Dev

如何使用XMLService向元素添加两个命名空间?

来自分类Dev

如何使用两个项目向旋转木马添加边框

Related 相关文章

热门标签

归档