TableView
ve UILabel
'dan oluşan bir UITableViewController
var. UITableViewSource
, verileri UITableViewCell aracılığıyla TableView
'a besler. UITableViewCell
, öğeleri ekleyebilen bir Step'den oluşur ve Label bu değeri tutar.iOS'ta Özel Hücredeki UILabel değerlerini aşan UIStepper
Ben kullanıcı Step hafifçe dokunduğunda ve ben bu işe almak gibi olamaz zaman UILabel
UIViewController
güncellemek istiyorum ...
Herhangi bir yardım/ipuçları
büyük takdir! İşte benim test projemden örnek kod, kullanılmayan bir sürü kod var ama bu sadece bir test. Kod My Custom Hücre Sınıfı "StepperDetailsCell" dirolduğunu
sayesinde.
@interface StepperDetailsCell : UITableViewCell
@property (nonatomic,weak) id <StepperDetailsCellDelegate> delegate;
@property (strong, nonatomic) IBOutlet UIImageView *imagegroceries;
@property (strong, nonatomic) IBOutlet UIStepper *objstepper;
@property (strong,nonatomic) IBOutlet UILabel *lblsteppervalue;
-(IBAction)stepperclicked:(UIStepper*)sender;
@end
ve My tablo görünümü sınıfı "SecondViewController"
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *simpleTableIdentifier = @"Cell";
cell = (StepperDetailsCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil){
cell = (StepperDetailsCell *)[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}
[cell.imagegroceries setImage:[UIImage imageNamed:[[self.didSelectedImages sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)]objectAtIndex:indexPath.row]]];
[cell.objstepper addTarget:self action:@selector(stepperValuechanges:) forControlEvents:UIControlEventValueChanged];
cell.lblsteppervalue.text = [self.quantityArr objectAtIndex:indexPath.row];
return cell;
}
Pragma işareti olarak adlandırılır - Adım Eylem Metodu Burada
-(void)stepperValuechanges:(UIStepper *)sender{
CGPoint stepperPosition = [sender convertPoint:CGPointZero toView:self.tableView];
indexPath1 = [self.tableView indexPathForRowAtPoint:stepperPosition];
if (indexPath1 != nil)
{
float val = sender.value;
valueInt = (int)val;
[self.quantityArr replaceObjectAtIndex:indexPath1.row withObject:[NSString stringWithFormat:@"%i",valueInt]];
NSLog(@"%@",self.quantityMDict);
}
[self.tableView reloadData];
}
, her şey düzgün çalışıyor, ancak her yeni hücredir tableview alttan yükleme, o zaman yeni hücre adımı kaybolan hücre stepper olarak hareket eder.
sorunuzu hiçbir kod yoktur. –
@Nitin Gohel, Şimdi kodumu ekledim –