0

我正在使用以下代码创建自定义开关:

UISegmentedControl* switchView=[[UISegmentedControl alloc] 
                                initWithItems:[[NSMutableArray alloc] initWithObjects:@"On",@"Off",nil]];
[switchView setFrame:CGRectMake(20,365,140,28)];
switchView.selectedSegmentIndex=0;
switchView.segmentedControlStyle=UISegmentedControlStyleBar;
[switchView setImage:[UIImage imageNamed:@"onSelected.png"] forSegmentAtIndex:0];
[switchView setImage:[UIImage imageNamed:@"off.png"] forSegmentAtIndex:1];
[switchView addTarget:self action:@selector(checkOnOffState:) forControlEvents:UIControlEventValueChanged];

我现在想将此控件添加到我的一个屏幕(我相信正确的术语是 ViewController?)。我将如何在 Xcode 4.3 中执行此操作?

我查看了其他一些帖子,但找不到任何有用的东西。例如,如何向 iPhone 应用程序的 UI 添加自定义视图?提出了一些类似的建议 [[myVC view] addSubview:myView]; 以及如何在 iphone 中自定义 UISwitch 按钮?建议 self.navigationItem.titleView=switchView; 如果可能的话,您能否解释一下为什么这些方法不起作用?谢谢。

4

2 回答 2

1

您需要为您的开关创建一个类,它是您的 UISegmentControl 的子类,否则您也可以直接在您的 vc 中添加此代码。

在其 initWithFrame 方法中添加此代码

然后在你的VC中使用它

-(void)viewDidLoad{
  urCustomSwitch  = [urCustomSwitch alloc] initWithFrame:CGRectMake(20,365,140,28)];
  [self.view addSubview:urCustomSwitch];
}

如果您要创建自定义可重用类,这将满足您的目的。

于 2012-07-10T03:53:07.450 回答
0

如果您UISegmentedControlInterfaceBuilder(.xib 文件)中添加此开关控件

这项任务对您来说会容易得多。

于 2012-07-10T06:10:13.537 回答