In iOS gibt es trotzdem eine UIView, die mehrere Tasten (Geschwister) gleichzeitig berührt? Zum Beispiel können zwei nicht überlappende Knöpfe, die nebeneinander liegen, gleichzeitig mit zwei Berührungen angezapft werden.Verhindern, dass mehrere Tasten gleichzeitig berührt werden
33
A
Antwort
90
Set UIView.exclusiveTouch.
11
Sie können auch folgende Methode verwenden. Wenn Sie zwei oder mehr Tasten haben, um mehrfaches Drücken zu verhindern.
für zB
[Button1 setExclusiveTouch:YES];
[Button2 setExclusiveTouch:YES];
Setzen Sie diese Methode in Ihrer viewDidLoad
oder viewWillAppear
2
for(UIView* v in self.view.subviews)
{
if([v isKindOfClass:[UIButton class]])
{
UIButton* btn = (UIButton*)v;
[yourButton setExclusiveTouch:YES];
}
}
0
Sie müssen alle Tasten auf dieser Ansicht finden und die "exclusiveTouch" Eigenschaft auf true um Mehrfachberührung gleichzeitig zu verhindern.
func exclusiveTouchForButtons(view: UIView) {
for cmp in view.subviews {
if let cmpButton = cmp as? UIButton {
cmpButton.exclusiveTouch = true
} else {
exclusiveTouchForButtons(cmp)
}
}
}
Super! Warum ich nicht daran gedacht habe für Knöpfe, die ich nicht kenne ?! – pryomoax
Perfekt! das war wie ein versteckter Schatz, wusste nie von dieser Eigenschaft, vielen Dank. – RVN
Bitte beachten Sie, um es auf jedem "UIButton" zu setzen! NICHT die UIView diese Tasten sind in :) (In allen Subviews dieser UIView würde tun) wie folgt -> [self.controlViewnviews makeObjectsPerformSelector: @selector (setExclusiveTouch :) mitObjekt: [NSNumber numberWithBool: YES] ]; – Hlung