代码之家  ›  专栏  ›  技术社区  ›  stilllife

从搜索结果表转到时UIBarButtonItem定位错误

  •  0
  • stilllife  · 技术社区  · 11 年前

    我正在导航栏右侧创建一个UIBarButtonItem,代码如下:

    -(void)setupImageTrashButton {
        UIButton *menuButton = [[UIButton alloc] init];
        UIImage *backgroundColor = [UIImage imageNamed:@"trash"];
        [menuButton setImage:backgroundColor forState:UIControlStateNormal];
        [[menuButton imageView] setContentMode:UIViewContentModeCenter];
        UIBarButtonItem *barMenuButtonItem = [[UIBarButtonItem alloc] initWithCustomView:menuButton];
        [menuButton addTarget:self action:@selector(delete) forControlEvents:UIControlEventTouchUpInside];
        self.navigationItem.rightBarButtonItem = barMenuButtonItem;
        self.navigationItem.rightBarButtonItem.style = UIBarButtonItemStyleBordered;
    }
    

    它可以正常工作,除非我从搜索结果表中找到该ViewController(单击搜索结果表单元格执行到该ViewController的segue)。错误的是按钮位置移动到导航栏的右侧。

    问题图片: The correct case The wrong case

    知道吗?

    1 回复  |  直到 11 年前
        1
  •  0
  •   Ken Toh    11 年前

    您可能需要为UIButton设置框架:

    UIButton *menuButton = [[UIButton alloc] init];
    menuButton.frame = CGRectMake(0, 0, 44, 44); // or whatever dimensions
    ...