问题描述
|
这是我以编程方式制作UISearchBar的代码
- (void)loadView {
[super loadView];
searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0,320,30)];
searchBar.delegate = self;
[self.view addSubview:searchBar];
}
解决方法
也许您的课程不符合
@property UISearchBar * srchBar;
@结束
2- @synthesize srchBar; //在.m文件中
3- [self.srchBar setDelegate:self]; //在viewDidLoad中
4- [srchBar resignFirstResponder]; //辞职!
UISearchBarDelegate
?将您的班级声明从
@interface MyClass : NSObject
...
@end
至
@interface MyClass : NSObject<UISearchBarDelegate>
...
@end
无论如何,警告是什么?
,您没有发布警告。但是,我仍然可以假设它是以下两种可能性之一:
searchBar = [[UISearchBar...
行上的警告说明类型。这可能表明searchBar
未正确定义为UISearchBar*
。
searchBar.delegate = self
行上的警告,说id<UISearchBarDelegate>
。这里的问题是您当前的类从未声明自己符合ѭ1协议。在这种情况下,您需要像这样修改@interface
声明:@interface MyClass : MySuperclass <UISearchBarDelegate>
,1- @interface YourClassName:ParentClass