我使用以下代码创建自定义开关:
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中执行此操作?
我查看了其他一些帖子,但却找不到任何可行的内容。例如,How do I add a custom view to iPhone app's UI?提出了类似于
[[myVC view] addSubview:myView];
的内容。
并How to customize UISwitch button in iphone?建议
self.navigationItem.titleView=switchView;
如果可能的话,你能解释为什么这些方法不起作用吗?感谢。
答案 0 :(得分:1)
您需要为您的UISegmentControl的子类创建一个类, 否则,您也可以直接在vc中添加此代码。
在其initWithFrame方法中添加此代码
然后在VC中使用它
-(void)viewDidLoad{
urCustomSwitch = [urCustomSwitch alloc] initWithFrame:CGRectMake(20,365,140,28)];
[self.view addSubview:urCustomSwitch];
}
如果要创建自定义可重用类,这将满足您的目的。
答案 1 :(得分:0)
如果您在UISegmentedControl
(。xib文件)中添加此切换控件即InterfaceBuilder
这项任务对你来说会容易得多。