मैं स्विफ्ट कोड और एक तृतीय पक्ष लाइब्रेरी (ओबीजे-सी में लिखा गया) का संयोजन कर रहा हूं। मेरे पास UISiewController है जिसमें आप UISegmentedController के साथ हैं, कि जब भी सेगमेंट को धक्का दिया जाता है या प्रत्येक बार ट्रिगर करना चाहता है तो उसी सेगमेंट को फिर से धक्का दिया गया था।UISegmentedController एक ही सेगमेंट को दोगुना करने के बाद फ्रीज करता है
मेरी स्विफ्ट कोड में, मैं निम्नलिखित है:
override func viewDidLoad() {
super.viewDidLoad()
//setup
items = ["newTab".localized,"topTab".localized,"categoryTab".localized]
carbonTabSwipeNavigation = CarbonTabSwipeNavigation(items: items as [AnyObject], delegate: self)
carbonTabSwipeNavigation.insertIntoRootViewController(self)
self.style()
self.view.userInteractionEnabled = true
carbonTabSwipeNavigation.carbonSegmentedControl!.addTarget(self, action: #selector(OverviewFolder.changesMade), forControlEvents: UIControlEvents.ValueChanged)
}
func changesMade() {
switch carbonTabSwipeNavigation.carbonSegmentedControl!.selectedSegmentIndex {
case 0:
print("tab 1")
case 1:
print("tab 2")
case 2:
print("tab 3")
default:
print("nope")
}
}
पुस्तकालय मैं निम्नलिखित कोड को शामिल किया है में: तो बुनियादी तौर पर
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
NSInteger current = self.selectedSegmentIndex;
[super touchesEnded:touches withEvent:event];
if (current == self.selectedSegmentIndex)
[self sendActionsForControlEvents:UIControlEventValueChanged];
}
मैं हर बार एक एक ValueChanged कार्यवाही प्रारंभ करना चाहते हैं उपयोगकर्ता एक सेगमेंट दबाता है (भले ही यह एक ही सेगमेंट हो)। वर्तमान में यह एक ही समय में ट्रिगर करता है जब मैं एक ही सेगमेंट दबाता हूं, लेकिन उसके बाद UISegmentController अनुत्तरदायी हो जाता है (अब सेगमेंट स्विच नहीं कर सकता)।
क्या विधि यह है: '#selector (OverviewFolder.changeImageView)'? –
@AlexanderDoloz क्षमा करें, यह एक प्रतिलिपि/पेस्ट त्रुटि थी, मैंने इसे बदल दिया। परिवर्तन होना चाहिए था (कोड में ठीक था) – SoundShock