मुझे 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
में कहा जाता है। मुझे लगता है कि समस्या यह है कि मैं एक ही समय में दो अलग-अलग एनीमेशन/संक्रमण ब्लॉक को कॉल करने की कोशिश कर रहा हूं।
यदि आप एक ही समय में दोनों लेबल एनिमेट करना चाहते हैं, तो दो लेबल अपने लेबल कंटेनर व्यू पर रखें और फिर इसे 'संक्रमण WithView' के पहले पैरामीटर के रूप में उपयोग करें। – Rob
मेरे पास उनमें से एक आंशिक रूप से सही तरीके से काम कर रहा है। क्या 'एनिमेट विथ अवधि' और 'UIViewAnimationOptionTransitions' को गठबंधन करना या 'संक्रमण WithView' और' UIViewAnimationOptions' (गैर-संक्रमण) को गठबंधन करना संभव नहीं है? ऐसा लगता है जब मेरे पास ये है कि वे काम नहीं करते हैं, लेकिन अगर मैं 'संक्रमण WithView' के साथ संक्रमण विकल्पों का उपयोग करता हूं तो यह काम करता है, और इसी तरह एनिमेशन के साथ। मैंने दस्तावेज़ पढ़े हैं और ऐसा लगता है कि उन सभी को एक साथ जोड़ना संभव है लेकिन यह मेरे लिए काम नहीं करता है। –
कृपया संशोधित प्रश्न देखें। धन्यवाद –