gpt4 book ai didi

ios - 如何在 HMSegmentedControl 上重复或重新选择选定的段?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:29:52 26 4
gpt4 key购买 nike

在HMSegmentedControl中,我想进行重复的段选择。意味着如果已经选择了一个段,如果再次按下或选择它应该根据段选择执行/重新加载下一个功能。

最佳答案

HMSegmentedControl.swift文件,有 tapped(segmentButton:)您可以在其中更改 indexChanged 的函数bool 变量为 true 或者你可以删除 indexChanged来自 if 条件的变量然后每次点击选定的选项卡事件都会发生。这是实际的功能代码:

swift

func tapped(segmentButton sender: UIButton) {
let newIndex = sender.tag
//let indexChanged: Bool = newIndex != selectedSegmentIndex
let indexChanged: Bool = true
selectedSegmentIndex = newIndex

if let indexChangedHandler = indexChangedHandler, indexChanged == true {
indexChangedHandler(selectedSegmentIndex)
}

setSelectedSegmentIndex(newIndex, animated: true)
}

func tapped(segmentButton sender: UIButton) {
let newIndex = sender.tag
selectedSegmentIndex = newIndex

if let indexChangedHandler = indexChangedHandler {
indexChangedHandler(selectedSegmentIndex)
}

setSelectedSegmentIndex(newIndex, animated: true)
}

objective-C

你可以删除segment != self.selectedSegmentIndex此方法中的条件 - (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event;

//if (segment != self.selectedSegmentIndex && segment < sectionsCount) {
if (segment < sectionsCount) {
// Check if we have to do anything with the touch event
if (self.isTouchEnabled)
[self setSelectedSegmentIndex:segment animated:self.shouldAnimateUserSelection notify:YES];
}

注意:注释行(第一行)是旧代码,第二行是新代码。

关于ios - 如何在 HMSegmentedControl 上重复或重新选择选定的段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47525889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com