1

我有一个自定义栏按钮项,我想将其向下微调 5 个像素。我将如何使用以下代码来做到这一点。我试图设置“y”点,但不断收到语法错误。

     [self.navigationController setNavigationBarHidden:NO animated:YES];

     UIImage *image = [UIImage imageNamed:@"arrow_back.png"];
     UIImageView *imageView = [[UIImageView alloc] initWithImage:image];

     [self.navigationController.navigationBar addSubview:imageView];

    [imageView release];

     UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
     [button setImage:buttonImage forState:UIControlStateNormal];

     //set the frame of the button to the size of the image (see note below)
     button.frame = CGRectMake(0, 0, buttonImage.size.width, buttonImage.size.height);

    [button addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];

     //create a UIBarButtonItem with the button as a custom view
     UIBarButtonItem *customBarItem = [[UIBarButtonItem alloc] initWithCustomView:button];
     self.navigationItem.leftBarButtonItem = customBarItem;

    [customBarItem release];
}

谢谢你的帮助

4

1 回答 1

3

UIBarButton 项目不从 UIView 继承,因此没有可以直接调整的“框架”属性,因此您需要使用不同的方法。

尝试:

    [self.navigationItem.leftBarButtonItem setBackgroundVerticalPositionAdjustment:5 forBarMetrics:UIBarMetricsDefault];
于 2012-05-17T11:00:27.407 回答