art*_*ras 5 objective-c uibarbuttonitem uisearchbar ios uisearchcontroller
我想将UISearchBar的Cancel按钮更改为只有图像而没有文本的按钮。这就是我远离原始行为的地方
对此
朝着正确的方向迈出了一步,但问题是按钮太宽了。当我调试视图时,我可以看到它的左侧和右侧有 11 个点的按钮标签插入。有谁知道如何使按钮适合内容大小?图像是正方形的。
这是我的自定义按钮的代码:
UIBarButtonItem *barButtonAppearanceInSearchBar;
if (IOS9) {
barButtonAppearanceInSearchBar = [UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:@[[UISearchBar class]]];
} else {
barButtonAppearanceInSearchBar = [UIBarButtonItem appearanceWhenContainedIn:[UISearchBar class], nil];
}
barButtonAppearanceInSearchBar.image = [UIImage imageNamed:@"Close"];
barButtonAppearanceInSearchBar.title = nil;
Run Code Online (Sandbox Code Playgroud)
另一个奇怪的问题是,当我关闭搜索栏并再次激活它时,按钮图像变暗(它仍然存在,我在调试视图时可以看到它),所以它看起来像这样
知道如何使图标保持白色吗?我尝试了以下方法,但没有结果:
- (void)willPresentSearchController:(UISearchController *)searchController {
searchController.searchBar.tintColor = [UIColor whiteColor];
}
Run Code Online (Sandbox Code Playgroud)
小智 3
使用图像渲染和色调颜色。
barButtonAppearanceInSearchBar.image = [[UIImage imageNamed:@"Close"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
barButtonAppearanceInSearchBar.tintColor = [UIColor whiteColor];
barButtonAppearanceInSearchBar.title = nil;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3239 次 |
| 最近记录: |