今天遇到了一个这样的需求,需要在导航栏加上searchBar。但我直接加上之后出现了这种情况:
自己定义的返回按钮距离左边太远,视觉效果不好,但我无论怎么调整这个button的frame都解决不了问题,后来找到了这个解决方案:
//设置导航栏,并调整自定义返回按钮的位置和大小
UIBarButtonItem * spaceItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
UIBarButtonItem * backItem = [[UIBarButtonItem alloc]initWithCustomView: self.backBtn];
//将宽度设为负值,否则返回按钮会很宽
spaceItem.width = -15;
self.navigationItem.leftBarButtonItems = @[spaceItem,backItem];
跑代码测试:
完美!