好吧,這聽起來很簡單,但不知何故,我不能讓這個功能工作。移動一個查看
- (void)setViewMovedUp:(BOOL)movedUp {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
CGRect rect = self.view.frame;
NSLog(@"%f",self.view.frame.size.height);
if (movedUp)
{
NSLog(@"test Moved Up");
rect.origin.y += 60;
rect.size.height -= 300;
}
self.view.frame = rect ;
NSLog(@"%f after:",self.view.frame.size.height);
[UIView commitAnimations];
}
所有NSLogs打印效果很好,「測試上升」出現,所以我知道沒有什麼錯上游。
此函數是我的MainViewController(它管理我的Window應用程序的根視圖)的實現文件的一部分。
我假設我必須致電:self.view.frame,對吧?
沒有錯誤或警告出現,但它只是不`噸,儘管正確打印出來的日誌移動..
編輯,這是在IB層次:
再次編輯:我真的想知道是否允許我將視圖向上移動,如果他們位於層次結構的頂部,我們是否允許將視圖向上移動?那麼後面會發現什麼?
您正在將視圖向下移動60個像素,而不是向上移動。 – Satyam 2010-09-13 11:41:23
好吧,錯誤的一面,但它應該仍然在移動,對嗎? – 2010-09-13 11:44:03