- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 TTTableViewController
中实现了 TTSearchTextFieldDelegate
。
我的标题看起来像这样:
#import <Three20/Three20.h>
@protocol SearchTestControllerDelegate;
@class MockDataSource;
@interface SearchTestController : TTTableViewController <TTSearchTextFieldDelegate> {
id<SearchTestControllerDelegate> _delegate;
}
@property(nonatomic,assign) id<SearchTestControllerDelegate> delegate;
@end
@protocol SearchTestControllerDelegate <NSObject>
- (void)searchTestController:(SearchTestController*)controller didSelectObject:(id)object;
@end
我的实现是这样的:
#import "SearchTestController.h"
#import "MockDataSource.h"
@implementation SearchTestController
@synthesize delegate = _delegate;
//////////////////////////////////////////////////////////////////////////////////
// NSObject
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {
_delegate = nil;
self.title = @"Search Test";
self.dataSource = [[[MockDataSource alloc] init] autorelease];
}
return self;
}
- (void)dealloc {
[super dealloc];
}
//////////////////////////////////////////////////////////////////////////////////
// UIViewController
- (void)loadView {
[super loadView];
TTTableViewController* searchController = [[[TTTableViewController alloc] init] autorelease];
searchController.dataSource = [[[MockSearchDataSource alloc] init] autorelease];
self.searchViewController = searchController;
self.tableView.tableHeaderView = _searchController.searchBar;
}
//////////////////////////////////////////////////////////////////////////////////
// TTTableViewController
- (void)didSelectObject:(id)object atIndexPath:(NSIndexPath*)indexPath {
[_delegate searchTestController:self didSelectObject:object];
}
//////////////////////////////////////////////////////////////////////////////////
// TTSearchTextFieldDelegate
- (void)textField:(TTSearchTextField*)textField didSelectObject:(id)object {
[_delegate searchTestController:self didSelectObject:object];
}
@end
方法 - (void)didSelectObject:(id)object atIndexPath:(NSIndexPath*)indexPath;
被调用并完美运行。当选择了 TTTableView
中的单元格时。
但是方法 - (void)textField:(TTSearchTextField*)textField didSelectObject:(id)object
永远不会被调用。当我在搜索某些内容后在 TTTableView
中选择一个单元格时,应该调用此方法。
我做错了什么?这基本上是来自此处的 TTCatalog
示例:https://github.com/facebook/three20/tree/master/samples/TTCatalog
最佳答案
我通过实现 UITableViewDelegate
解决了我的问题,并在 -(void)loadView:
中设置了 _searchController.searchResultsTableView.delegate = self;
那么剩下的就是实现这个方法了:
- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
TTTableImageItemCell *cell = (TTTableImageItemCell *) [tableView cellForRowAtIndexPath:indexPath];
TTTableImageItem *object = [cell object];
[_delegate searchTestController:self didSelectObject:object];
}
关于iphone - TTSearchTextFieldDelegate 不调用 textField :didSelectObject:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8729722/
我在 TTTableViewController 中实现了 TTSearchTextFieldDelegate。 我的标题看起来像这样: #import @protocol SearchTestCo
我是一名优秀的程序员,十分优秀!