2013-07-24 31 views
0

我在做什么:我想在触摸事件中移动我的搜索栏的x和y坐标。我已将viewDidLoad中的代码放入测试中。但是我收到一个错误。在“UISearchBar”类型的对象上找不到属性“框架”错误

错误:在'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) {} 
]; 

最后,我想该动画/移动:

我的代码。

+0

替换'型的'变量UISearchBar'的UISearchBar *'。 – rmaddy

+1

您还将'NSNumber'实例传递给一个函数'CGRectMake()',该函数需要'CGFloat's。这应该是'CGFloat newX = 0;'和'CGFloat newY = 0;'。 –

+0

当我做一个UISearchBar的变量,我需要将该变量分配给搜索栏一些如何? – sephiith

回答

0

UISearchBar是一类。它没有类方法setFrame。它确实有一个实例方法,这就是你应该使用的。所以,你需要一个UISearchBar的实例,或者你已经有了,或者你需要创建一个实例。

如果选择了搜索栏时,这个正在做,你的代码将在委托方法searchBarTextDidBeginEditing:,你会使用提供的参数:

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

中间还有一个'UISearchBar'参考。 – rmaddy

+0

谢谢@rmaddy,不知道哪里有'yourSearchBar',但我现在就离开了... – Wain

+0

我该如何创建一个UISearchBar的实例方法? – sephiith

相关问题