とに問題がtransitionWithView
ありanimateWithDuration
ます。私のanimateWithDuration
ブロックの1つは移行せず、突然の変更であり、transitionWithView
ユーザーの操作を一時的に無効にしません。ドキュメントを確認し、すべてが正しく行われていると信じていますが、明らかに何かが間違っています。コードの2つのブロックは次のとおりです。
ViewController
これは、 3つのコンテナビュー/子ビューコントローラを持つメインのビューコントローラにあります。ViewController
このブロックは、コンテナビューの1つを移動しますが、遷移が発生している間、ユーザーが他のインタラクションをブロックすることはありません。
[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
}];
これは私のコンテナビューコントローラの1つにあります。のテキストとしては効果がないようで、アニメーションブロックが存在しないかのように急に変化します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
、ラベル、テキストビュー、および画像ビューのテキストと画像のプロパティを設定することです。これらはすべてメインビューにあります。これらのプロパティの詳細は、子ViewControllerを介して送信されます。はtransitionWithView
、で呼び出されるというメソッドtoggleFlavoredOiveOilsTableView
内にありdidSelectRowAtIndexPath
ます。問題は、2つの異なるアニメーション/トランジションブロックを同時に呼び出そうとしていることだと思います。