我从一位同事那里得到了一个程序,他正在使用.xib文件来设置他的视图.
(作为一个硬核编码器,我自己从未使用过IB ……)
所以他正在设置他的ViewControler并且他有一个NavBar(我在.xib文件中找不到!).
我想在标题中添加阴影.
如果我正在创建NavBar,相关代码将是这样的:
textViewTitle.layer.shadowOpacity = 2.0;
textViewTitle.layer.shadowRadius = 3.0;
textViewTitle.layer.shadowOffset = CGSizeMake(2.0, 3.0);
这很好.
挖掘我发现现在我需要使用它:
NSDictionary *navbarTtlAts = [NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor], UITextAttributeTextColor,
[UIColor blackColor], UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(2.0, 3.0)], UITextAttributeTextShadowOffset,
nil];
[self.navigationController.navigationBar setTitleTextAttributes:navbarTtlAts];
虽然这有效,但我找不到如何添加shadowOpacity& shadowRadius的东西.
我发现我可以在NSDictionary中添加以下内容,但它不起作用……
[NSNumber numberWithFloat: 2.0], @"shadowOpacity",
[NSNumber numberWithFloat: 3.0], @"shadowRadius",
有任何想法吗?
最佳答案 您应该将这些键用于阴影颜色和偏移.
UITextAttributeTextShadowColor
UITextAttributeTextShadowOffset
无法将阴影半径指定为文本属性.
如果你真的想要一个自定义阴影,你可以创建自己的UILabel并像第一个例子中那样设置阴影.然后,您将该标签设置为视图控制器UINavigationItem的titleView.
您必须自己更新文本(导航控制器将不再自动为您执行此操作).