グループ化されたテーブルビューのセルにUISwitchを追加しようとしていますが、これを行うための適切な方法が得られていません。私を助けてください。ありがとう&よろしく、チャクリ
3 に答える
UISwitch
ボタンをアクセサリとして設定UITableViewCell
:
-(UITableViewCell*) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString* cellId = @"cellId";
UITableViewCell* cellView = [self.tableView dequeueReusableCellWithIdentifier:cellId];
if(!cellView) {
cellView = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellId];
UISwitch* switchBtn = [[UISwitch alloc] init];
[switchBtn addTarget:self action:@selector(onSwitchBtn:) forControlEvents:UIControlEventValueChanged];
cellView.accessoryView = switchBtn;
}
return cellView;
}
既存の(Objective-C)回答をC#に変換できますが、MonoTouchを使用しているため、MonoTouch.Dialog(およびサンプルアプリケーション)を確認する必要があります。
それに加えて、はるかに簡単なAPIを提供し、UITableView
テーブルを必要とする一般的な使用法/シナリオのほとんどをカバーします。
UISwitch
セルで使用されていることを確認するには、(前のリンクの)スクリーンショットを参照してください。
ストーリーボードまたはxibsを使用していますか?ストーリーボードでは、UISwithをセルにドラッグできると思います。
xibsを使用している場合は、カスタムセルが必要になります。Interface Builderを使用して、UITableViewCellをテーブルビューの外側のxibにドラッグし、UISwitchをUITableViewCellの内側にドラッグして、UITableViewCellにIBOutletを配置します。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row == rowWhereYouWantTheCellWithTheUISwitch){
return UITableViewCellWithTheSwitchName;
}
}
rowWhereYouWantTheCellWithTheUISwitchは、カスタムセルが必要なセルの番号です。UITableViewCellWithTheSwitchNameは、作成したIBOutletの名前です。