English 中文(简体)
UINavigation bar background in Müller
原标题:UINavigation bar background in iPhone
  • 时间:2009-09-04 19:33:26
  •  标签:

我对我提出的改变航标形象的申请适用了密码。

- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self.navigationController.navigationBar setTintColor:[UIColor blackColor]];
[self setNavigationBarTitle];
}
-(void)setNavigationBarTitle {
UIView *aViewForTitle=[[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 45)] autorelease];
UIImageView *aImg=[[UIImageView alloc] initWithFrame:CGRectMake(-8, 0, 320, 45)];
aImg.image=[UIImage imageNamed:@"MyTabBG.png"];
[aViewForTitle addSubview:aImg]; [aImg release]; 
UILabel *lbl=[[[UILabel alloc] initWithFrame:CGRectMake(0, 0, 305, 45)] autorelease];
lbl.backgroundColor=[UIColor clearColor]; lbl.font=[UIFont fontWithName:@"Trebuchet MS" size:22];
lbl.shadowColor=[UIColor blackColor]; [lbl setShadowOffset:CGSizeMake(1,1)];
lbl.textAlignment=UITextAlignmentCenter; lbl.textColor=[UIColor whiteColor]; lbl.text=@"Mobile Tennis Coach Overview";
[aViewForTitle addSubview:lbl];
[self.navigationItem.titleView addSubview:aViewForTitle];
}

见以下图像。 你可以看到我面临的问题。

alt text


alt text

我申请的每个观察控制员都超越了确定航标背景的方法。

当我把新的观点控制者推向我的申请时,怎么会发生。 后面的纽顿将出现。

我需要回头顿。 但 图像应落后于纽特。

现在我在这里感到困惑不解。

你们能否帮助我这样做?

事先感谢与我分享你的知识。

感谢很多。

最佳回答

在夜晚之后,我发现,如果你使用提炼拉耶的话,那是一小 t。 在你拍摄录像或录音录像时,用图像取代bar。 我阅读了几个员额,导致他们的希望被拒。

@implementation UINavigationBar (UINavigationBarCategory)

- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx 
{
   if([self isMemberOfClass:[UINavigationBar class]])
   {
     UIImage *image = [UIImage imageNamed:@"navBarBackground.png"];
     CGContextClip(ctx);
     CGContextTranslateCTM(ctx, 0, image.size.height);
     CGContextScaleCTM(ctx, 1.0, -1.0);
     CGContextDrawImage(ctx,
     CGRectMake(0, 0, self.frame.size.width, self.frame.size.height), image.CGImage); 
   }
   else 
   {        
     [super drawLayer:layer inContext:ctx];     
   }
}  
@end

If this article is accurate, all should be fine with this approach: http://developer.apple.com/iphone/library/qa/qa2009/qa1637.html

问题回答

简短的答案是,改变UINavigation Bar的结构并不得到 Apple果的支持。 他们确实不想让你做你试图做的事情。 这正是你所看到的问题。

www.un.org/Depts/DGACM/index_spanish.htm 请提交一份雷达,要求这一特征,以便它能够在某个时候得到足够的注意。

尽管如此,为了解决这个问题,你可以增加美国航空研究院的一个类别。 Bar with a -drawRect:meth anduce the background concept in that means. 与此类似:

- (void)drawRect:(CGRect)rect
{
  static UIImage *image;
  if (!image) {
    image = [UIImage imageNamed: @"HeaderBackground.png"];
    if (!image) image = [UIImage imageNamed:@"DefaultHeader.png"];
  }
  if (!image) return;
  CGContextRef context = UIGraphicsGetCurrentContext();
  CGContextDrawImage(context, CGRectMake(0, 0, self.frame.size.width, self.frame.size.height), image.CGImage);
}




相关问题
热门标签