आईओएस में पर छुआ जा रहा से एकाधिक बटन रोक रहा है? उदाहरण के लिए, दो गैर-ओवरलैपिंग बटन जो एक तरफ हैं, एक ही समय में दो स्पर्शों के साथ टैप किए जा सकते हैं।वहाँ वैसे भी स्पर्श किया जा रहा से एक साथ किया जा रहा से एक UIView एकाधिक बटन (भाई-बहन) युक्त को रोकने के लिए एक ही समय
33
A
उत्तर
90
सेट UIView.exclusiveTouch।
11
तुम भी विधि नीचे का उपयोग कर सकते हैं। यदि आपके पास एक समय में एकाधिक धक्का रोकने के लिए दो बटन या अधिक हैं।
उदाहरण के लिए,
[Button1 setExclusiveTouch:YES];
[Button2 setExclusiveTouch:YES];
सेट अपने viewDidLoad
या viewWillAppear
2
for(UIView* v in self.view.subviews)
{
if([v isKindOfClass:[UIButton class]])
{
UIButton* btn = (UIButton*)v;
[yourButton setExclusiveTouch:YES];
}
}
0
आप उस दृश्य पर सभी बटन खोजने के लिए और "exclusiveTouch" निर्धारित करने की आवश्यकता सच करने के लिए संपत्ति में इस विधि एक ही समय में बहु स्पर्श को रोकने के लिए।
func exclusiveTouchForButtons(view: UIView) {
for cmp in view.subviews {
if let cmpButton = cmp as? UIButton {
cmpButton.exclusiveTouch = true
} else {
exclusiveTouchForButtons(cmp)
}
}
}
बहुत बढ़िया! मैंने उन बटनों के बारे में क्यों नहीं सोचा जो मुझे नहीं पता ?! – pryomoax
बिल्कुल सही! वह छिपे खजाने की तरह था, इस संपत्ति के बारे में कभी नहीं जानता था, बहुत बहुत धन्यवाद। – RVN
कृपया इसे प्रत्येक "UIButton" पर सेट करने के लिए नोट करें! UIView उन बटनों में नहीं हैं :) (उस UIView के सभी सबव्यूज़ में सेट करें) इस तरह -> [self.controlView.subviews makeObjectsPerformSelector: @selector (setExclusiveTouch :) के साथ ऑब्जेक्ट: [NSNumber numberWithBool: YES] ]; – Hlung