gpt4 book ai didi

objective-c - UISegmentedControl 在以编程方式更改 selectedSegmentIndex 时调用操作方法

转载 作者:可可西里 更新时间:2023-11-01 06:21:14 25 4
gpt4 key购买 nike

我的 xib 文件中有一个 UISegmentedControl。它链接到 xib 文件中值更改事件的操作方法。

当我以编程方式设置 selectedSegmentIndex 的值时,将调用操作方法

mysegmentedcontrol.selectedSegmentIndex = index

我原以为只有当用户通过触摸更改控件时才会调用操作方法?

这只发生在 UISegmentedControl 上。

最佳答案

.h文件

BOOL isProgramaticallyChanged;

.m文件

- (IBAction)segmentAction:(id)sender { // valuechanged connected function

UISegmentedControl *segControll = (UISegmentedControl *)sender;

if (segControll.tag == 55) { // while create segment specify tag value to 55 (to set use via IB or Code)

if (isProgramaticallyChanged == NO) {

// your valuechanged code here

}

else {

isProgramaticallyChanged = NO; //important

}

}

else if (segControll.tag == 66) { // for many segments

}

//...like this do for all segments
}

在 .m 文件中

无论您将此代码放在何处以编程方式进行更改,都需要像这样

if (mysegmentedcontrol.selectedSegmentIndex != index) {

isProgramaticallyChanged = YES;

mysegmentedcontrol.selectedSegmentIndex = index;

}

关于objective-c - UISegmentedControl 在以编程方式更改 selectedSegmentIndex 时调用操作方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7497760/

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