我有问题transitionWithView
和animateWithDuration
。我的一个animateWithDuration
块没有转换,这是一个突然的变化,并且transitionWithView
不会暂时禁用用户交互。我检查了文档并相信我做的一切都是正确的,但显然有问题。下面是两个代码块:
这是在我的主视图控制器ViewController
中,它具有三个容器视图/子视图控制器。此块移动容器视图之一,但不会ViewController
在转换发生时阻止用户进行其他交互。
[UIView transitionWithView:self.view duration:0.5 options:UIViewAnimationOptionCurveEaseOut animations:^ {
CGRect frame = _containerView.frame;
frame.origin.y = self.view.frame.size.height - _containerView.frame.size.height;
_containerView.frame = frame;
}completion:^(BOOL finished) {
// do something
}];
这是在我的一个容器视图控制器中。动画似乎没有效果,因为 的文本productTitleLabel
突然productDescriptionTextView
变化,好像动画块不存在一样。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self.viewController toggleFlavoredOliveOilsTableView];
if (indexPath.row > 0) {
NSDictionary *selectedCellDict = [[_flavoredOliveOilsDict objectForKey:@"Unflavored Olive Oils"] objectAtIndex:indexPath.row - 1];
[UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionTransitionCrossDissolve animations:^ {
self.viewController.productTitleLabel.text = [_flavoredOliveOilsTableView cellForRowAtIndexPath:indexPath].textLabel.text;
self.viewController.productDescriptionTextView.text = [selectedCellDict objectForKey:@"Description"];
}completion:nil];
if (indexPath.row == 1) {
[self.viewController setProductDescriptionTextViewFrameForInformationTab];
}
else {
[self.viewController setProductDescriptionTextViewFrameForNonInformationTab];
//self.viewController.productImageView.image = [UIImage imageNamed:[selectedCellDict objectForKey:@"Image"]];
}
}
}
我认为这些问题有些相关,因为我的大多数动画和过渡块都不能完全按预期工作。谢谢你的帮助。
编辑
我想要完成的是移动容器视图ViewController
并设置标签、文本视图和图像视图的文本和图像属性;所有这些都在主视图中。这些属性的详细信息通过子视图控制器发送。transitionWithView
是在一个被调用的方法toggleFlavoredOiveOilsTableView
中didSelectRowAtIndexPath
。我认为问题在于我试图同时调用两个不同的动画/过渡块。