iOS 8

2015-01-17 14 views
6

में inputAccessoryViewController का उपयोग कैसे करें iOS 8 में एप्पल UIResponder के तहत एक नया संपत्ति inputAccessoryViewController कहा जाता है की शुरुआत की। हालांकि कोई दस्तावेज नहीं बता रहा है कि कोई इसका उपयोग कैसे कर सकता है।iOS 8

इसके अलावा, आईओएस 8 में, inputAccessoryViewUIViewController सबक्लास की संपत्ति सेट करना और उप-वर्ग बनाना पहला प्रतिसादकर्ता दृश्य नियंत्रक को रिसाव का कारण बनता है।

मेरा प्रश्न है: मैं UIViewController सबक्लास में कैसे उपयोग कर सकता हूं? क्या यह स्मृति रिसाव की समस्या को हल करता है?

+0

आप 'inputAccessoryViewController के रूप में अपने' UIViewController' कस्टम उपवर्ग में एक 'UIInputViewController' उपयोग कर रहे थे जोड़ा ', और किसको बर्बाद नहीं किया गया था? – Francescu

+0

वास्तविक कोड दिखाएँ, कृपया। – matt

उत्तर

-1

अपने कोड में इस पद्धति जोड़ें। यह आपकी मदद करेगा। iOS 7 से आप केवल accessoryView के रूप में UIView लौटना ही होगा।

-(UIView *)inputAccessoryView{ 
     UIView *accessoryView = [[UIView alloc] initWithFrame:toolView.frame]; 
     toolView.frame = CGRectMake(0, 0, self.view.frame.size.width, 50); 
     [accessoryView addSubview:toolView]; 
     return accessoryView; 
} 
0

आप inputAccessoryViewController का उपयोग करना चाहते हैं, तो आप किसी भी UITextView या UITextField नियंत्रण उपवर्ग और inputAccessoryViewController संपत्ति ReadWrite ओवरराइड करने के लिए की जरूरत है।

@interface MyTextView: UITextView 

@property (nonatomic, retain) UIInputViewController *inputAccessoryViewController; 

@end 

ध्यान दें कि दृश्य नियंत्रक उपलब्ध कराने एक UIInputViewController और 'inputView' पैदा करेगा (self.view के रूप में) (जो आप इनपुट प्रतिनिधि और पाठ दस्तावेज़ जानकारी तक पहुँच प्रदान करेगा) यदि आप फोन [सुपर होना चाहिए loadView], जिसे आप अपने सबव्यूव में जोड़ सकते हैं। यह UIInputView कुंजीपटल के लिए उचित स्टाइल की जाएगी। मैंने इस मामले में .xib से लोड करने का प्रयास करने का प्रयोग नहीं किया है।

मैंने यह भी पाया ठीक से inputView आकार (और बाधा त्रुटियों की एक गुच्छा बचने के लिए) के लिए, मैं निम्नलिखित कोड

- (void)updateViewConstraints 
{ 
    self.view.frame = CGRectMake(0, 0, CGRectGetWidth(self.view.superview.frame), myAccessoryHeight); 
    [super updateViewConstraints]; 
} 
संबंधित मुद्दे