SORU
22 EYLÜL 2010, ÇARŞAMBA


UİSwitch UİTableView bir hücrede

Nasıl UITableView cep UISwitch gömebilir miyim? Örnek ayarlar menüsünden görülebilir.

Benim geçerli çözüm:

UISwitch *mySwitch = [[[UISwitch alloc] init] autorelease];
cell.accessoryView = mySwitch;

CEVAP
22 EYLÜL 2010, ÇARŞAMBA


Bu accessoryView olarak bu ayar genellikle gitmek için bir yoldur. Hedef/eylem anahtarı çevrildiğinde bir şey yapmak için kullanmak isteyebilirsiniz. tableView:cellForRowAtIndexPath: olarak ayarlayabilirsiniz. Bunun gibi

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    switch( [indexPath row] ) {
        case MY_SWITCH_CELL: {
            UITableViewCell* aCell = [tableView dequeueReusableCellWithIdentifier:@"SwitchCell"];
            if( aCell == nil ) {
                aCell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:@"SwitchCell"] autorelease];
                aCell.textLabel.text = @"I Have A Switch";
                aCell.selectionStyle = UITableViewCellSelectionStyleNone;
                UISwitch *switchView = [[UISwitch alloc] initWithFrame:CGRectZero];
                aCell.accessoryView = switchView;
                [switchView setOn:NO animated:NO];
                [switchView addTarget:self action:@selector(switchChanged:) forControlEvents:UIControlEventValueChanged];
                [switchView release];
            }
            return aCell;
        }
        break;
    }
    return nil;
}

- (void) switchChanged:(id)sender {
    UISwitch* switchControl = sender;
    NSLog( @"The switch is %@", switchControl.on ? @"ON" : @"OFF" );
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Britec09

    Britec09

    4 Mart 2009
  • CruzerLite

    CruzerLite

    1 EKİM 2011
  • Joshua Kywn

    Joshua Kywn

    17 Mayıs 2010