【问题标题】:performing actions based on UIsegmented control name根据 UIsegmented 控件名称执行操作
【发布时间】:2017-03-08 11:08:03
【问题描述】:

我正在尝试根据 UIsegmented 控件名称执行各种操作。

这是我的代码:

- (UIView *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
    [cell.mySegmentedControl addTarget:self action:@selector(segmentValueChanged:) forControlEvents:UIControlEventValueChanged];
}

UIsegemented 控件有两个索引名称作为接受和拒绝。

- (void) segmentValueChanged: (UISegmentedControl *) sender {

    if(sender.selectedSegmentIndex == 0)
    {
        // I am changing the UISegmented control index name
        [sender setTitle:@"SEND TO ADMIN" forSegmentAtIndex:sender.selectedSegmentIndex];
        [sender setTitle:@"EVALUATE" forSegmentAtIndex:1];
    }
    else
    {
        // 
    }
}

再次,当我点击发送到管理员和评估时,我需要触发函数。

如何根据 UISegmented 控件名称编写条件。
任何帮助将不胜感激。

提前致谢!

【问题讨论】:

  • alerasy 你有答案然后你为什么发布这个问题,发送给管理员 == 0 做你的行动
  • 不,我试过它不起作用。

标签: ios objective-c uicollectionview uisegmentedcontrol


【解决方案1】:

您可以使用以下代码访问所选片段的标题:

  NSInteger selectedIndex = [sender selectedSegmentIndex];
  NSString *selectedTitle = [sender titleForSegmentAtIndex:selectedIndex];

    if ([selectedTitle isEqual:@"SEND TO ADMIN"] || [selectedTitle isEqual:@"EVALUATE"]) {
        // Call your function here
    }

将其添加到您的 - (void) segmentValueChanged: (UISegmentedControl *) sender 函数中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多