【问题标题】:iOS: change subview with segmented controliOS:使用分段控制更改子视图
【发布时间】:2011-05-10 10:09:36
【问题描述】:

我有四个子视图,当我在分段控件中选择 (segment ==1) 时,其他视图的 alpha 值必须为 0.00,只有 1 号子视图的 alpha 值必须为 1.00,我会显示我的代码:

if (segmentedContr.selectedSegmentIndex == 1) {

    [subView1 setAlpha:0.0];

      }

这很简单,但是我必须在哪里编写这段代码?在 IBAction 中?还是在通用方法(void)中?如果我这样做了

-(void)segmentAction:(id)sender

我必须在哪里调用这个方法?

【问题讨论】:

  • IBAction 被预处理器翻译成void

标签: objective-c cocoa-touch ios subview uisegmentedcontrol


【解决方案1】:

您不必从任何地方显式调用该方法。

当您在分段控件中选择一个分段时,将自动调用该方法。并且,确保您已经为分段控件设置了 targetaction

[segmentedContr addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];

【讨论】:

  • 你能写一个委托属性的例子吗?
  • 我必须在哪里写?在 viewdidload 中?
  • 有错误;它说在 UISegmented Control 类型的对象上找不到属性委托
  • @blackguardian:对不起。我犯了一个错误。实际上,您不会为分段控件设置委托。你必须使用[segmentedControl addTarget:self action:@selector(action:) forControlEvents:UIControlEventValueChanged];
  • @blackguardian:太好了。如果可能,请删除以上 cmets。
猜你喜欢
  • 2018-07-11
  • 1970-01-01
  • 1970-01-01
  • 2015-01-13
  • 2017-08-18
  • 2015-09-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多