【发布时间】:2018-03-02 08:04:16
【问题描述】:
全部,
我想将 UISearchBar 添加到 UINavigationbar,我不想使用 UISearchController,只是以编程方式使用 UISearchbar,它也必须在横向中工作。
我试过它在纵向上运行良好,但在横向上,我在 iPhone X 宽度上遇到了问题。我们可以使用约束吗?
下面是代码
CGFloat width = [UIScreen mainScreen].bounds.size.width;
search = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, width - 2 * 44 - 2 * 15, 44)];
search.delegate = self; // search.tintColor = [UIColor redColor];
search.searchBarStyle = UISearchBarStyleMinimal;
search.placeholder = @"Search";
search.translucent = NO;
search.opaque = NO;
search.showsCancelButton = NO;
[search setBackgroundImage:[[UIImage alloc] init]];
//customize textfield inside UISearchBar
@try {
for (id object in [[[search subviews] firstObject] subviews])
{
if (object && [object isKindOfClass:[UITextField class]])
{
UITextField *textFieldObject = (UITextField *)object;
textFieldObject.backgroundColor = [UIColor whiteColor];
textFieldObject.borderStyle = UITextBorderStyleRoundedRect;
textFieldObject.layer.borderColor = (__bridge CGColorRef _Nullable)([brandingObj getValueForKey:navBarTitleColor]);
textFieldObject.layer.borderWidth = 1.0;
break;
}
}
}
@catch (NSException *exception) {
NSLog(@"Error while customizing UISearchBar");
}
@finally {
}
【问题讨论】:
标签: objective-c uinavigationbar uisearchbar landscape-portrait