我正在創建一個視圖,並從左到右移動到屏幕上。我很難讓它按照我想要的方式工作,但是當我這樣做時,我對它的工作方式感到困惑。我不明白爲什麼/如何CGAffineTransformTranslate工作
我想我必須創建視圖關閉屏幕左側,然後使用CGAffineTransformTranslate將其移動到屏幕上。但是,我正在屏幕上創建它,但它仍然很好。我有點困惑。
在這裏,我創建視圖...
profileViewControllerForIPad = [[ProfileViewController alloc] initWithFrame:CGRectMake(0, 0, 512, 446)];
正如你所看到的原點是0,0。所以在屏幕上,對吧?
這裏是thransform ...
[UIView animateWithDuration:0.5
animations:^{
self.view.transform = CGAffineTransformTranslate(CGAffineTransformIdentity,self.view.frame.size.width, 0.0);
}
];
正如你可以看到我的tx值設置爲CGAffineTransformTranslate的寬度,我以爲是你希望它移動的像素數的值從它的當前位置,origin.x爲0,我期望它將它移動到屏幕中間某處。相反,它在它所在的位置是新的origin.x,正好在0,我想要它。
順便說一句CGAffineTransformIdentity很好地將視圖從屏幕上滑回。
有人可以向我解釋這一點。這些文件似乎有所不同。
感謝,
約翰
所以它沒有將像素的寬度向右移動? – 2011-06-15 02:17:30
如果您更清楚地識別各種物體,您的問題會更容易理解。你說:「我在這裏創建視圖...」但實際上你似乎在創建一個視圖控制器。目前還不清楚第二個片段中的「自我」是什麼。你談論「CGAffineTransformTranslate的寬度」,這是沒有意義的。我知道當你不真正理解正在發生的事情(因此這個問題)時很難清楚,但是我們更難以破譯你正在做的事情。它也可能有助於顯示更多的代碼。 – Caleb 2011-06-15 05:43:42