在'UISearchBar'类型的对象上找不到属性'frame'错误

时间:2013-07-24 23:38:50

标签: objective-c cocoa-touch uisearchbar

我想做什么:我想在触摸事件中移动搜索栏的x和y坐标。我已将我的代码放在viewDidLoad中以测试它。但是我收到了错误。

错误:在“UISearchBar”类型的对象上找不到属性“框架”。

我的代码:

NSNumber *newX = @0;
NSNumber *newY = @0;
[UIView animateWithDuration:0.3f animations:^{
    [UISearchBar setFrame:CGRectMake(newX, newY, UISearchBar.frame.size.width,
                                       yourSearchBar.frame.size.height)];
}
                 completion:^(BOOL finished) {}
 ];

最终我希望在选择搜索栏时执行动画/移动,然后在取消选择后返回。

1 个答案:

答案 0 :(得分:0)

UISearchBar是一个班级。它没有类方法setFrame。它确实有一个实例方法,这就是你应该使用的方法。因此,您需要一个UISearchBar的实例,要么已经拥有,要么需要创建一个实例。

如果在选择搜索栏时执行此操作,则代码将位于委托方法searchBarTextDidBeginEditing:中,您将使用提供的参数:

[searchBar setFrame:CGRectMake(newX, newY, searchBar.frame.size.width, yourSearchBar.frame.size.height)];