Swiftコードとサードパーティライブラリ(Obj-Cで書かれています)を組み合わせています。私はUISegmentedControllerのUIViewControllerを持っています。セグメントがプッシュされるたびにトリガーしたいのですが、同じセグメントが再びにプッシュされました。私のスウィフトコードで同じセグメントを2回押した後、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];
}
を私はすべての時間AにValueChangedアクションをトリガーしますユーザーはセグメントを押します(同じセグメントであっても)。現在、同じセグメントを押すともう一度トリガされますが、その後はUISegmentControllerが応答しなくなります(セグメントをもう切り替えることはできません)。
何方法はこれです: '#selector(OverviewFolder.changeImageView)'? –
@AlexanderDoloz申し訳ありませんが、これはコピー/ペーストエラーです。変更しました。 changesMade(コード内でOKだった) – SoundShock