0

目前我正在尝试为我的 UINavigationBar 设置一个标题图像,但它的范围很广。我正在使用以下代码:

CGRect myImageRect = CGRectMake(0.0f, 0.0f, 40.0f, 20.0f);
    UIImageView *myImage = [[UIImageView alloc] initWithFrame:myImageRect];
    [myImage setImage:[UIImage imageNamed:@"titleImage.png"]];
    self.navigationItem.titleView = myImage;

有没有人知道为什么它在宽度上延伸了这么多?

4

4 回答 4

3

您可以尝试在 navigationItem 或 UIImageView 上设置 contentMode 吗?

myImage.contentMode = UIViewContentModeAspectFill;
于 2013-07-29T03:49:21.020 回答
1

只需使用以下代码,它将图像设置为导航栏的中心。

UIImage *image = [UIImage imageNamed:@"sclogo.png"];
      self.navigationItem.titleView = [[[UIImageView alloc] initWithImage:image] autorelease];
于 2013-07-29T04:15:25.943 回答
0

如果您想在完整的导航栏中设置图像,则可以使用以下代码:-

UINavigationBar *navBar = self.navigationController.navigationBar;
UIImage *image = [UIImage imageNamed:@"youimage"];
[navBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];

您正在尝试在导航栏标题视图中设置图像。

于 2013-07-29T03:56:03.913 回答
0

尝试这个:

imageView.contentMode = UIViewContentModeScaleAspectFit;
于 2013-09-01T23:15:23.653 回答