【问题标题】:set highlight of UISegmentedControl设置 UISegmentedControl 的高亮
【发布时间】:2016-12-17 19:49:01
【问题描述】:

我想设置突出显示的段而不调用分配的函数。

我打电话

segmentedControlLeft.selectedSegmentIndex = 1;

这适用于 segmentedControl,但它也会生成 UIControlEventValueChanged,它调用我的附加函数,我想避免它再次调用。

这可能吗?

谢谢!

【问题讨论】:

    标签: iphone objective-c ipad ios uisegmentedcontrol


    【解决方案1】:

    见我的question

    这是一个已知问题。 ID#8372405

    您必须使用在使用 setSelectedSegmentIndex: 之前设置的 BOOL,并在设置所选索引后取消设置。检查您的操作中的布尔值。

    这就是我所做的。

    【讨论】:

      【解决方案2】:

      删除目标,更改所选细分并再次添加目标。或者您是否使用某个变量来标记您确实通过代码对其进行了修改,如果设置了此标志,请忽略函数中的此调用并重置您的标志。

      【讨论】:

        【解决方案3】:

        我现在就这样做了,它可以工作

        [segmentedControlLeft removeTarget:self action:@selector(segmentActionZoom:) forControlEvents:UIControlEventValueChanged];
        segmentedControlLeft.selectedSegmentIndex = value;
        [segmentedControlLeft addTarget:self action:@selector(segmentActionZoom:) forControlEvents:UIControlEventValueChanged];
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-11-06
          • 1970-01-01
          • 1970-01-01
          • 2013-10-24
          相关资源
          最近更新 更多