Sne*_*ney 10 iphone cocoa-touch objective-c uitableview uikit
嗨:我想在UITableView中显示一个节索引,在表视图标题中有一个搜索栏(不是节标题).但索引条现在与搜索栏重叠.是否有一个优雅的解决方案来避免这种情况,让索引从表头开始?
Jon*_*Jon 10
我意识到这个答案来得很晚,但我遇到了同样的问题并在这里和其他地方进行了搜索.我在这里找到了很好的答案: 更改UISearchBar TextField的大小?
有几个建议,但我发现最直接的建议是将UISearchBar和UINavBar放在UIView中并将该视图传递给setTableView.问题是该表控制标题视图的大小,忽略您添加的任何设置.因此,添加视图会使表格变得愉快,您可以进入内部并设置搜索栏大小而不会受到桌子的干扰.UINavBar具有与UISearchBar相同的背景样式,因此以视觉上一致的方式填充额外空间,你必须调整它的框架 - 见下文:
UISearchBar searchBar = [[[UISearchBar alloc] initWithFrame:CGRectMake(0, 1, 290, 40)] autorelease];
UIView *searchView = [[[UIView alloc] initWithFrame:CGRectMake(0, 1, 320, 40)] autorelease];
UINavigationBar *navBar = [[[UINavigationBar alloc] initWithFrame:CGRectMake(1, -1, 320, 41)] autorelease]; // same gradient/style as search bar
[navBar setTintColor:[UIColor lightGrayColor]];
[searchView addSubview:navBar];
[searchView addSubview:searchBar];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8640 次 |
| 最近记录: |