我对iOS开发很陌生,这是我第一次在这里设计样式。
在任何人说出任何事之前,我知道以下代码会改变颜色
self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:0.169 green:0.373 blue:0.192 alpha:0.9];
我想做的是想改变导航栏中的灯光。目前是默认的从上到下的渐变。但我想要做的就是改变它,使它像图片一样发光,仅在中间。
我不知道我是不是更好地使用图片或用xcode绘制光线是最好的选择。主要是由于记忆消耗和有效性。我的猜测是,绘制灯光是最佳选择,我只需知道如何操作。
我尝试搜索这个,但可能是我缺乏iOS开发知识阻止我找到关于如何执行此操作的正确教程或代码示例。
任何帮助都表示赞赏。
这是光分布与默认UINavBar不同的另一个示例。我真的很想知道他们是用过图片还是用xCode画了
答案 0 :(得分:0)
最好为条形图使用自定义图像,而不是“画出”光晕。
答案 1 :(得分:0)
你可以使用自定义图片,试试这个:
[[UINavigationBar appearance] setBackgroundImage:yourImage forBarMetrics:UIBarMetricsDefault]
在您的app delegate中添加此代码,它可用作全局设置,所有导航栏都将设置
答案 2 :(得分:0)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.imgBackgroundView = [[UIImageView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window addSubview:self.imgBackgroundView];
[self addCustomNavigationController];
[self addCustomNavigationController];
}
- (void)addCustomNavigationController
{
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:self.viewController];
if ([[UINavigationBar class] respondsToSelector:@selector(appearance)])
{
[[UINavigationBar appearance] setBackgroundImage:[self getImageFromResource:@"topbar"] forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor colorWithRed:255.0/255.0 green:255.0/255.0 blue:255.0/255.0 alpha:1.0],
UITextAttributeTextColor,
[UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.8],
UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(0, 0)],
UITextAttributeTextShadowOffset,
[UIFont fontWithName:@"HelveticaNeue-Bold" size:18.0],
UITextAttributeFont,
nil]];
}
[[NSUserDefaults standardUserDefaults] setObject:@"Login" forKey:@"randomView"];
}
- (UIImage*)getImageFromResource:(NSString*)imageName
{
return [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:imageName ofType:@"png"]];
}
答案 3 :(得分:0)
Hello请使用iOS5和iOS6的外观 [[UIBarButtonItem外观] setTintColor:[UIColor colorWithRed:0.08绿色:0.72蓝色:0.78 alpha:1]];
答案 4 :(得分:0)
一个替代解决方案可以是在NavigationBar上添加UIButton。
从属性检查器或使用
设置其高亮显示属性[buttonGlow setShowsTouchWhenHighlighted:YES];
和viewDidLoad
:
[buttonGlow setHighlighted:YES];
答案 5 :(得分:0)