【发布时间】:2017-09-25 15:56:35
【问题描述】:
我正在开发 iOS 应用程序。它有搜索栏和右栏按钮项(几个按钮)。
东西初始化如下:
UISearchController *searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
UISearchBar *searchBar = searchController.searchBar;
[searchBar sizeToFit];
searchBar.placeholder = @"Search";
UIButton *routeButton = [UIButton buttonWithType:UIButtonTypeCustom];
[routeButton setBackgroundImage:[UIImage imageNamed:@"go_route"] forState:UIControlStateNormal];
routeButton.frame = CGRectMake(0., 0., 30., 30.);
UIButton *cancelButton = [UIButton buttonWithType:UIButtonTypeCustom];
[cancelButton setBackgroundImage:[UIImage imageNamed:@"cancel"] forState:UIControlStateNormal];
cancelButton.frame = CGRectMake(0., 0., 30., 30.);
UIBarButtonItem *routeButtonItem = [[UIBarButtonItem alloc] initWithCustomView:routeButton];
UIBarButtonItem *cancelButtonItem = [[UIBarButtonItem alloc] initWithCustomView:cancelButton];
self.navigationItem.rightBarButtonItems = @[cancelButtonItem, routeButtonItem];
self.navigationItem.titleView = searchBar;
在功能上,它按预期工作,但看起来有点奇怪:按钮被绘制在搜索栏上方一点:
我想让按钮稍微低一点,以便与搜索栏垂直对齐。如何实现?
附:
看来,如果我在 cancelButton.frame = CGRectMake(0., y, 30., 30.); 中更改 y 坐标 - 将不起作用。
【问题讨论】:
标签: ios objective-c uisearchbar