2013-07-24 30 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

相關問題