तो एनिमेट है और इसलिए, मैं ने वही समस्या नहीं मिली है। कुछ करीब आ गए लेकिन मेरी तरह नहीं।टूलबार जब गूगल के माध्यम से मेरी लंबी खोज के बाद मल्टीटास्किंग
हाथ पर समस्या: कीबोर्ड में दिखाए जाने पर मेरे ऐप (WKWebView आधारित) में, और मैं घर को दो बार टैप करता हूं और कीबोर्ड दिखाता है, तो मेरे ऐप कीबोर्ड को छुपाया जाता है। कोई बात नहीं है। तो जब मैं फिर से मल्टीटास्क करता हूं, स्नैपशॉट में यह मेरा ऐप लेता है, कीबोर्ड चला जाता है, लेकिन मेरे ऊपर मौजूद कस्टम टूलबार के नीचे कोई कीबोर्ड नहीं होता है। मैं अपने ऐप को टैप करता हूं और यह स्क्रीन के नीचे तक एनिमेट करता है और फिर नीचे चला जाता है।
मैंने जो कोशिश की है: मुझे [self.view endEditing: YES], इस्तीफा देने के लिए फर्स्ट रेस्पॉन्डर और कीबोर्ड को बंद करने के सभी तरीकों के बारे में पता है। दृश्य के माध्यम से रखने और मिश्रण करने का प्रयास किया गया है, आवेदन करने के लिए, अनुप्रयोग WillResignActive और applicationDidEnterBackground। इनमें से कोई भी मेरे टूलबार मुद्दे को संभाल नहीं पाएगा।
यह है कि कैसे मैं पर और स्क्रीन बंद अपने कीबोर्ड एनिमेट रहा हूँ, उपकरण पट्टी दृश्यमान रखते हुए है।
- (void)keyboardWillShow:(NSNotification*)notification
{
NSDictionary* info = [notification userInfo];
NSNumber *durationValue = info[UIKeyboardAnimationDurationUserInfoKey];
NSNumber *curveValue = info[UIKeyboardAnimationCurveUserInfoKey];
NSValue *endFrame = info[UIKeyboardFrameEndUserInfoKey];
[UIView animateWithDuration:durationValue.doubleValue
delay:0
options:(curveValue.intValue << 16)
animations:^{
self.toolBar.frame = CGRectMake(0,
[endFrame CGRectValue].origin.y - self.toolBar.bounds.size.height+44,
self.toolBar.bounds.size.width,
self.toolBar.bounds.size.height);
}
completion:nil];
}
- (void)keyboardWillHide:(NSNotification*)notification
{
NSDictionary* info = [notification userInfo];
NSNumber *durationValue = info[UIKeyboardAnimationDurationUserInfoKey];
NSNumber *curveValue = info[UIKeyboardAnimationCurveUserInfoKey];
NSValue *endFrame = info[UIKeyboardFrameEndUserInfoKey];
[UIView animateWithDuration:durationValue.doubleValue
delay:0
options:(curveValue.intValue << 16)
animations:^{
self.toolBar.frame = CGRectMake(0,
[endFrame CGRectValue].origin.y - self.toolBar.bounds.size.height,
self.toolBar.bounds.size.width,
self.toolBar.bounds.size.height);
}
completion:nil];
}
क्या किसी के पास कोई सुराग या विचार है?
फिर मेरे ऐप WKWebView आधारित है, इसलिए सीधे कॉल करने या textviews की ओर निर्देशन, ध्यान केंद्रित करने में वेबव्यू व्यर्थ है कोशिश कर रहा।
किसी को भी कुछ और कोड की जरूरत है, बस मुझे सूचित करें। किसी भी मदद की सराहना की जाएगी। धन्यवाद।
1/20/18
UPDATED तो यहाँ संबंधित जहां के लिए और कैसे मेरे उपकरण पट्टी प्रारंभ और लोड हो जाता है का अनुरोध कोड है।
एच।
UIToolbar *toolBar;
@property (nonatomic, strong) UIToolbar *toolBar;
मीटर।
@synthesize toolBar;
- (void)viewDidLoad {
//Toolbar setup
CGRect toolFrame, remain;
CGRectDivide(self.view.bounds, &toolFrame, &remain, 48, CGRectMaxYEdge);
self.toolBar = [[UIToolbar alloc] initWithFrame:toolFrame];
[self.toolBar setBarStyle:UIBarStyleBlackTranslucent];
[self.toolBar setClipsToBounds:YES];
[self.toolBar setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin];
[self.view addSubview:self.toolBar];
}
इसके बारे में यही कारण है, अन्य तो कुछ यह ताज़ा करने के लिए जब मैं बटन स्विच बुला कोड, और कुछ नहीं इस उपकरण पट्टी से जुड़ा हुआ है।
जब तक कि मैं एक स्विच नल या यह ताज़ा करने के लिए उपयोगकर्ता पृष्ठभूमि, एक और दृश्य में NSUserDefaults के साथ निपटा बदल जाता है जब की जरूरत है यह कहा जाता है प्राप्त करता है।
-(void)viewWillLayoutSubviews{
[self.currentScrollView layoutIfNeeded];
[self.toolBar layoutIfNeeded];
[self.view layoutSubviews];
}
यह अभी भी मेरे ऐप के साथ एक सतत मुद्दा है। – ChrisOSX
आपने टूलबार और कैसे बनाया? – ChikabuZ
ऐप लोड होने के बाद यह मेरे मुख्य दृश्य (viewDidLoad) में बनाया गया है। मैंने इसे एच फाइल में संपत्ति के साथ बनाया और फिर एम फाइल में संश्लेषित किया और इसे सबव्यू में जोड़ दिया। – ChrisOSX