rightBarButtonItem.enabled 从 uinavigationbar 中删除我的自定义层
Posted
技术标签:
【中文标题】rightBarButtonItem.enabled 从 uinavigationbar 中删除我的自定义层【英文标题】:rightBarButtonItem.enabled removes my custom layer from the uinavigationbar 【发布时间】:2011-02-05 11:37:55 【问题描述】:我已经自定义了我的自定义 UINavigationBar 以显示自定义图像(实际上我在 NSTimer 上的许多图像之间交叉淡入淡出):
- (void) displayImage:(EGOImageView*)anImageView
CABasicAnimation *crossFade = [CABasicAnimation animationWithKeyPath:@"contents"];
crossFade.duration = 0.5;
crossFade.fromValue = self.layer.contents;
crossFade.toValue = (id)[self imageFromView:anImageView].CGImage;
[self.layer addAnimation:crossFade forKey:@"animateContents"];
self.layer.contents = (id)[self imageFromView:anImageView].CGImage;
如何防止导航栏在启用或禁用 barButtonItem 时松开我的自定义层?在我的 VC 中执行以下行后,我的导航栏会回到默认状态:
self.navigationItem.rightBarButtonItem.enabled = !editing;
(它恢复到我在 VC 的 viewDidLoad 中设置的 UIBarStyleBlackOpaque)
【问题讨论】:
【参考方案1】:当我在定制 NavBar 时,我发现这很有用 How do iPhone apps Instagram/Reeder/DailyBooth implement custom NavigationBars with variable width back buttons?
它讲述了如何制作自定义导航栏,然后讨论了过去的一篇文章,即将制作自定义后退按钮。这是一个完整的帖子,可以找到here。我个人发现这些在我当前的项目中很有用。希望这可以解释为什么您的方法会发生这种情况,或者如果您找不到当前使用 crossFade 和 NSTimer 的方法的解决方案,则可以为您提供替代方法
【讨论】:
谢谢。我需要做的就是在我的 drawRect 中绘制传入的图像。以上是关于rightBarButtonItem.enabled 从 uinavigationbar 中删除我的自定义层的主要内容,如果未能解决你的问题,请参考以下文章