// // ViewController.m // IBcells // // Created by Bogdan Michalchuk on 1/25/15. // Copyright (c) 2015 PDXRR. All rights reserved. // #import "ViewController.h" #import "BMOptionCell.h" #import "BMSettings.h" @interface ViewController () @end @implementation ViewController { NSArray *tableCellArray; BMSettings* settingSetup; NSString* cellRow; } - (instancetype) initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { settingSetup = [[BMSettings alloc] init]; } return self; } - (void)viewDidLoad { [super viewDidLoad]; tableCellArray = [settingSetup getArray]; self.tableView.dataSource = self; self.tableView.delegate = self; // Assign our own backgroud for the view self.parentViewController.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"common_bg"]]; self.tableView.backgroundColor = [UIColor clearColor]; [self setSwitch]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { // Return the number of sections. return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { // Return the number of rows in the section. return tableCellArray.count; } - (UIImage *)cellBackgroundForRowAtIndexPath:(NSIndexPath *)indexPath { NSInteger rowCount = [self tableView:[self tableView] numberOfRowsInSection:0]; NSInteger rowIndex = indexPath.row; UIImage *background = nil; if (rowIndex == 0) { background = [UIImage imageNamed:@"cell_top.png"]; } else if (rowIndex == rowCount - 1) { background = [UIImage imageNamed:@"cell_bottom.png"]; } else { background = [UIImage imageNamed:@"cell_middle.png"]; } return background; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; BMOptionCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; cell.cellSwitch.tag = indexPath.row; // cellRow.tag = indexPath.row; // cell.cellSwitch.name = indexPath.row; // i = indexPath.row; // cellRow =[(BMSettings *)[tableCellArray objectAtIndex:[cell.cellSwitch.tag]] UDKey] cell.cellSwitch.([(BMSettings *)[tableCellArray objectAtIndex:[cell.cellSwitch.tag]] UDKey]); [cell.cellSwitch addTarget:self action:@selector(switchChanged:) forControlEvents:UIControlEventValueChanged]; // Display setting in the table cell BMOptionCell *setting = [tableCellArray objectAtIndex:indexPath.row]; UILabel *settingNameLabel = (UILabel *)[cell viewWithTag:101]; settingNameLabel.text = setting.name; UISwitch *switchState = (UISwitch *) [cell viewWithTag:102]; // switchState.state = setting.preferred; // Assign our own background image for the cell UIImage *background = [self cellBackgroundForRowAtIndexPath:indexPath]; UIImageView *cellBackgroundView = [[UIImageView alloc] initWithImage:background]; cellBackgroundView.image = background; cell.backgroundView = cellBackgroundView; return cell; } -(void)switchChanged:(id)sender { UISwitch *senderSwitch = (UISwitch *)sender; NSUserDefaults *uD = [NSUserDefaults standardUserDefaults]; if (senderSwitch.tag == 0) { if (senderSwitch.on == 1) { [uD setObject:@"ON" forKey:@"Call Alert"]; NSLog(@"Switch 1 ON"); } else if (senderSwitch.on == 0) { [uD setObject:@"OFF" forKey:@"Call Alert"]; NSLog(@"Switch 1 OFF"); } } if (senderSwitch.tag == 1) { if (senderSwitch.on == 1) { [uD setObject:@"ON" forKey:@"AutoPlay"]; NSLog(@"Switch 2 ON"); } else if (senderSwitch.on == 0) { [uD setObject:@"OFF" forKey:@"AutoPlay"]; NSLog(@"Switch 2 OFF"); } } if (senderSwitch.tag == 2) { if (senderSwitch.on == 1) { [uD setObject:@"ON" forKey:@"Orientation"]; NSLog(@"Switch 3 ON"); } else if (senderSwitch.on == 0) { [uD setObject:@"OFF" forKey:@"Orientation"]; NSLog(@"Switch 3 OFF"); } } [uD synchronize]; } - (void)setSwitch { NSUserDefaults *uDefaults = [NSUserDefaults standardUserDefaults]; if ([[uDefaults stringForKey:@"Call Alert"] isEqualToString:@"On"]) { // _callConfirmationSwitch.on = YES; } else if ([[uDefaults stringForKey:@"Call Alert"] isEqualToString:@"Off"]) { // _callConfirmationSwitch.on = NO; } } @end