将UIBarButtonItem定位在UINavigationBar边缘

5

在UINavigationBar的左侧或右侧边缘上定位自定义图像UIBarButton项是否可能?由于我创建的按钮最好是按钮的边缘接触UINavigationBar的边缘,因此需要这样做。


为什么不可能呢?你是使用Interface Builder创建视图还是通过编程方式实现的? - julien_c
实际上我使用故事板。我宁愿通过故事板创建所有内容。基本上,我只想轻松地移除右侧 UIBarButton 上的填充和左侧 UIBarButtonItem 上的填充。 - mhbdr
1个回答

1
你最好的选择是子类化UINavigation bar并重写layout subviews。
在我的例子中,如果按钮的标签为900,我将其移动到最左边的边缘。
- (void) layoutSubviews {
    [super layoutSubviews];
    //override the navigation bar to move classes with 900 to the ledge
    for (UIView *view in self.subviews) {  
        if ([view isKindOfClass:[UIButton class]]) {  
            if (view.tag == 900)
                view.frame = CGRectMake(0,0, 88, 44);
        }

    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接