Geonames.org имеет замечательный набор мирских данных, это доступно через веб-сервис или загрузку:
http://www.geonames.org/export/ws-overview.html
В особенности
http://www.geonames.org/export/web-services.html#timezone
.
Вам понадобится UIView
в качестве контейнера для двух UIView
s (передняя / задняя сторона), а затем удалите / добавьте их из / в контейнер как субпредставления при выполнении анимаций между ними:
UIView *flipContainer;
UIView *frontSide;
UIView *backSide;
//...
-(void)turnUp
{
[backSide removeFromSuperview];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:flipContainer cache:YES];
[UIView setAnimationDuration:1.0];
CGAffineTransform transform = CGAffineTransformMakeScale(1.2, 1.2);
flipContainer.transform = transform;
[UIView commitAnimations];
[flipContainer addSubview:frontSide];
}
-(void)turnDown
{
[frontSide removeFromSuperview];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:flipContainer cache:YES];
[UIView setAnimationDuration:1.0];
CGAffineTransform transform = CGAffineTransformMakeScale(1, 1);
flipContainer.transform = transform;
[UIView commitAnimations];
[flipContainer addSubview:backSide];
}
Я пробую именно тот код, который вы делаете - я получаю эффект масштабирования, но не переворачивания. Единственная разница в том, что прямо перед кодом turnUp я добавляю flipContainer (с отображением задней части), чтобы потом его можно было перевернуть.
// construct animation container
self.flipContainer = [[FlipContainer alloc] init];
[self.flipContainer.view setFrame:CGRectMake(clickedSquareX, clickedSquareY, 200, 200)];
[self.flipContainer.view addSubview:self.backside.view];
// add animation container
[self.myParentView.view addSubview:self.flipContainer.view];
// PROCEED to your turnUp code
Причина, по которой я это делаю, заключается в том, что у меня есть куча изображений в горизонтальном UIScrollView, и поэтому, чтобы "имитировать" переворачивание изображения 200x200 и масштабирование, чтобы показать детали, я добавляю свой flipContainer с обратной стороной, показывающей точное изображение над точным местом нажатого изображения. Это должно работать, не так ли? Меня немного смущает первая строка вашего кода turnUp:
[backSide removeFromSuperview];
... которая удаляет вид, который я только что добавил.
Я не уверен, что это правильное место для этого вопроса - извините, если это не так!