2013-03-11 17 views
6

enter image description hereनेविगेशन बार बटन इसके नीचे वाले क्षेत्र पर क्लिक करते समय ईवेंट फायरिंग पर क्लिक करें।

मुझे कस्टम बार के साथ नेविगेशन बार सही बार बटन आइटम के रूप में है। कस्टम व्यू में दो बटन हैं। लेकिन जब मैं दाएं तरफ नेविगेशन बार के नीचे क्षेत्र को छूता हूं तो यह बटन टच इवेंट को निकाल देता है। मैंने बैकग्राउंड रंग बदलकर बटन के फ्रेम की जांच की है और सभी को पूरी तरह से सेट कर रहे हैं। मैंने डिफ़ॉल्ट आईओएस ऐप्स जैसे घड़ी, कैलेंडर, सेटिंग, नोट आदि के लिए चेक किया है, उनके सभी का एक ही व्यवहार है। स्क्रीनशॉट में लाल आयत में स्पर्श करना (डिफ़ॉल्ट iOS कैलेंडर अनुप्रयोग के।) आग बटन एक ही के स्पर्श घटना भी मेरे अनुप्रयोग के साथ क्या हो रहा है ..

यहाँ कोड है ..

UIView* navigationButtonsView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 100.0f, 44.0f)]; 

UIButton *p = [UIButton buttonWithType:UIButtonTypeCustom]; 
[p setImage:[UIImage imageNamed:@"PBtn.png"] forState:UIControlStateNormal]; 
[p addTarget:self action:@selector(PButtonPushed:) forControlEvents:UIControlEventTouchUpInside]; 
[p setFrame:CGRectMake(43, 0, 57, 44)]; 
[navigationButtonsView addSubview:p]; 

UIButton *o = [UIButton buttonWithType:UIButtonTypeCustom]; 
[o addTarget:self action:@selector(oButtonPushed:) forControlEvents:UIControlEventTouchUpInside]; 
[o setFrame:CGRectMake(0, 0, 38, 44)]; 
[o setImage:[UIImage imageNamed:@"O.png"] forState:UIControlStateNormal]; 
[navigationButtonsView addSubview:o]; 

UIBarButtonItem *barItem = [[UIBarButtonItem alloc] initWithCustomView:navigationButtonsView]; 
[musicVC.navigationItem setRightBarButtonItem: barItem animated:NO]; 

कैसे यह डिफ़ॉल्ट बदलने के लिए आईओएस नेविगेशन बार बटन के लिए व्यवहार? चूंकि एम इन बटनों के नीचे कुछ यूआई सही है और इसके शीर्ष क्षेत्र इस वजह से प्रतिक्रिया नहीं दे रहा है। अग्रिम धन्यवाद ..

उत्तर

1

यह एक सामान्य व्यवहार है - दो कारणों से:

  1. आईओएस कितना बड़ा अपनी उंगली है पता नहीं है - तो यह तय करने के लिए जहां स्पर्श डाल करने के लिए है। इस मामले में, एनएवी बार तालिका दृश्य ओवरराइड करता है।

  2. यह मानव इंटरफ़ेस दिशानिर्देशों (क्षमा करें, कोई लिंक नहीं है। Google) के साथ कुछ करने के लिए हो सकता है जो कहता है कि न्यूनतम स्पर्श करने योग्य क्षेत्र 44px होना चाहिए। यह व्यवहार 'UIBarButtonItem' इन आवश्यकताओं के अनुरूप होने का प्रयास कर रहा है।

संबंधित मुद्दे