对于我们应用程序中的UISearchBars,在iOS 7下运行时,栏中没有显示带焦点的光标.我们如何制作该节目?
我们正在使用SDK 7,最小目标为6.我们确实关闭导航栏的半透明效果,并在运行时设置颜色.我想不出别的什么我们做得与众不同.
我正在研究Swift.
作为常规SearchBar默认情况下它看起来像Follow Pic(1).

但根据我们的设计要求,我需要将其更改为以下Pic(2).
我尝试使用以下代码,如下面的Pic(3)
**当我尝试以下代码时,正确的视图正在隐藏,我无法看到文本字段右视图
搜索图标完全不可见**
let searchField = (searchBar.valueForKey("_searchField") as! UITextField)
searchField.layer.cornerRadius = 15;
let searchIcon = searchField.leftView!
if (searchIcon is UIImageView) {
print("yes")
}
searchField.rightView = searchIcon
searchField.leftViewMode = .Never
searchField.rightViewMode = .Always
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我获得要求.如果您提供甚至客观C,我也能理解
我们在表格标题中有一个搜索栏.当用户在iOS 7上快速点击两次时,它会消失.有没有人有任何建议我们做错了什么?
uisearchbar uisearchbardelegate uisearchbardisplaycontrol ios7
我正在尝试为iOs8找到displaySearchBarInNavigationBar的替代品,有什么我可以使用的(在swift中)?
我试过self.navigationItem.titleView = resultSearchController.searchBar但它没有做任何事情.
我不明白如何找到已弃用的函数的替代品,在苹果文档中它只是说弃用了,没有其他选择,如果你有任何提示,我将不胜感激.
因此,使用storyboard,您可以从UITableViewCell创建一个segue,从第一个tableViewController到detailViewController.
但是,当故事板混合中引入UISearchBarDisplayController时,不是太复杂,如何将结果单元格转换为detailViewController?
我能够毫无问题地搜索,我遵循了这个教程:http://clingingtoideas.blogspot.com/2010/02/uitableview-how-to-part-2-search.html
我所能做的就是从搜索中选择一行,它变为蓝色,不会转到detailViewController.
我已经实现了prepareForSegue方法,该方法适用于未搜索的单元格,但无法弄清楚这一点.
我们有UITableView一个searchbar与添加的searchDisplayController.
我们希望在整个应用程序中保持半透明状态.
我对导航栏和其他栏有半透明效果,但在使用显示控制器时没有搜索栏.在应用程序的一部分,当我们使用搜索栏而不是显示控制器时,半透明度设置正确.
如何UISearchBar将显示控制器的半透明属性设置为NO?
编辑:这是我的代码 viewDidLoad
self.navigationController.navigationBar.translucent = NO;
BOOL t = self.searchDisplayController.searchBar.translucent;
self.searchDisplayController.searchBar.translucent = NO;
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
self.searchDisplayController.searchBar.barTintColor = [UIColor redColor];
UIBarStyle b1 = self.searchDisplayController.searchBar.barStyle;
UISearchBarStyle b2 = self.searchDisplayController.searchBar.searchBarStyle;
BOOL t2 = self.searchDisplayController.searchBar.translucent;
Run Code Online (Sandbox Code Playgroud)
在调试器中运行,t = YES,t2 = YES.b1 = UIBarStyleDefault和b2 = UISearchBarStyleDefault.我在错误的位置设置NO吗?香港专业教育学院尝试过storyboard这里的设置viewDidLoad
我一直在寻找并且无法使其发挥作用.
TableviewcontrollerA用搜索栏将a表示TableviewcontrollerB为firstresponder
当用户点击取消时,我想回去 TableviewcontrollerA
我在下面的方法中尝试了很多东西而没有运气.我错过了什么?
谢谢BTW - segue是在IB上完成的,而不是代码
-(void) searchBarCancelButtonClicked:(UISearchBar *)searchBar{
}
Run Code Online (Sandbox Code Playgroud) 我在我的TopBar.m中写UISearchBar是这样的:
_tempSearchBar =[[UISearchBar alloc]initWithFrame:CGRectMake(44, 0, 320 - 44, 43)];
_tempSearchBar.barStyle=UIBarStyleDefault;
_tempSearchBar.placeholder=@"??";
[self addSubview:_tempSearchBar];
Run Code Online (Sandbox Code Playgroud)
结果是这样,是对的.

然后我在另一个类中编写UISearchDisplayController,如下所示:
_topBar.tempSearchBar.delegate = self;
_searchDisplayController = [[UISearchDisplayController alloc] initWithSearchBar:_topBar.tempSearchBar contentsController:self];
[_searchDisplayController setDelegate:self];
[_searchDisplayController setSearchResultsDataSource:self];
Run Code Online (Sandbox Code Playgroud)
UISearchBarDelegate是这样的:
#pragma mark -
#pragma mark UISearchBarDelegate
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
{
[_searchDisplayController setActive:YES animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
当我单击UISearchBar时,它显示如下,searchBar的框架被更改.为什么?

当我取消UISearchDisplayController时,它是这样的:

为什么框架改变了?UISearchDisplayController的宽度从320-44变为320?
谢谢.
uisearchbar uisearchdisplaycontroller uisearchbardelegate uisearchbardisplaycontrol ios
基本上我想要实现的是让我的范围栏永远不会消失.
环境:IOS 7,故事板,视图控制器内部我有一个"搜索栏和搜索显示控制器"和一个单独的tableview(搜索栏不在表格内)
在视图controller.h中
@property (nonatomic, strong) IBOutlet UISearchBar *candySearchBar;
Run Code Online (Sandbox Code Playgroud)
在视图controller.m内
@synthesize candySearchBar;
Run Code Online (Sandbox Code Playgroud)
我尝试了什么:在自定义搜索栏类中
- (void) setShowsScopeBar:(BOOL) showsScopeBar
{
if ([self showsScopeBar] != showsScopeBar) {
[super invalidateIntrinsicContentSize];
}
[super setShowsScopeBar:showsScopeBar];
[super setShowsScopeBar: YES]; // always show!
NSLog(@"setShowsScopeBar searchbar");
NSLog(@"%hhd", showsScopeBar);
}
Run Code Online (Sandbox Code Playgroud)
和
searchBarDidEndEditing
Run Code Online (Sandbox Code Playgroud)
在视图控制器中也是如此,但随后
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
[candySearchBar setShowsScopeBar:YES];
[candySearchBar sizeToFit];
}
Run Code Online (Sandbox Code Playgroud)
我希望我的问题很明确,我尝试过在互联网上发布的许多解决方案,其中大多数都是关于setshowsscopebar,但它似乎没有用.setshowscopebar中的日志输出为1,但示波器栏仍未显示.
我仍然认为自己不熟悉代码,故障仍然是一个新手的错误.
编辑:视图控制器中的另一段代码,你可以看到我正在盲目搜索:
-(void)searchDisplayControllerDidEndSearch:(UISearchDisplayController *)controller{
self.searchDisplayController.searchBar.showsCancelButton = YES;
self.searchDisplayController.searchBar.showsScopeBar = YES;
controller.searchBar.showsScopeBar = TRUE;
controller.searchBar.frame = CGRectMake(0, …Run Code Online (Sandbox Code Playgroud) ios ×7
uisearchbar ×6
ios7 ×4
swift ×2
ios8 ×1
iphone ×1
objective-c ×1
segue ×1
uitableview ×1