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];

このコントロールを画面の1つに追加したいと思います(正しい用語はViewControllerだと思いますか?)。Xcode 4.3でこれを行うにはどうすればよいですか?

他のいくつかの投稿を調べましたが、機能するものは見つかりませんでした。たとえば、iPhoneアプリのUIにカスタムビューを追加するにはどうすればよいですか?iPhoneのUISwitchボタンをカスタマイズする方法 [[myVC view] addSubview:myView]; との線に沿って何かを提案しましたか?提案 可能であれば、これらのアプローチが機能しなかった理由も説明できますか?ありがとう。 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 に答える