IOS 开发小作品 通讯录

来源:互联网 发布:好看的美剧推荐 知乎 编辑:程序博客网 时间:2024/04/28 22:42

MainViewController.m

#import "MainViewController.h"#import "TableViewCell.h"#import "SecondViewController.h"@interface MainViewController ()<UITableViewDataSource,UITableViewDelegate,SecondViewControllerDelegate>@property (nonatomic, retain) NSMutableArray *array;@property (nonatomic, retain) NSMutableArray *arrayPhone;@property (nonatomic, retain) NSArray *arrayImage;@property (nonatomic, assign) NSInteger integer;@end@implementation MainViewController- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];    if (self) {        // Custom initialization                self.array = [NSMutableArray arrayWithObjects: nil];                self.arrayPhone = [NSMutableArray arrayWithObjects:@"1315550000", @"13546855962", @"1334582647", @"1574658234", @"135458214", @"1359874126", @"13254896774", @"12257482369", @"18245876954", @"1574965842", @"16354285963", @"13956482654", @"13248569854", @"1345869753", @"1554869523", @"1567463214",@"14285963147", @"1225985448", @"548266996", @"4712548533", @"132548536", @"142585485", @"12563966547", @"456464646",nil];                self.arrayImage = [NSMutableArray arrayWithObjects: nil];                    }    return self;}- (void)viewDidLoad{    [super viewDidLoad];    // Do any additional setup after loading the view.        self.title = @"通讯录";        self.tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, 320, 480) style:UITableViewStylePlain];            self.tableView.separatorColor = [UIColor redColor];        self.tableView.rowHeight = 100;        self.tableView.dataSource = self;        self.tableView.delegate = self;        [self.view addSubview:self.tableView];        [_tableView release];}- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{    return [self.array count];}// 通讯录主界面从数组中得到数据- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{    static NSString *string = @"年华";        TableViewCell *cell = [tableView dequeueReusableHeaderFooterViewWithIdentifier:string];        if (cell == nil) {        cell = [[[TableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:string]autorelease];    }        NSString *name = [self.array objectAtIndex:indexPath.row];        cell.myLabel.text = name;        cell.myLabel.tag = 10000;        NSString *phoneNumber = [self.arrayPhone objectAtIndex:indexPath.row];        cell.myPhoneLabel.tag = 10001;        cell.myPhoneLabel.text = phoneNumber;        NSString *imageView = [self.arrayImage objectAtIndex:indexPath.row];        cell.myImageView.image = [UIImage imageNamed:imageView];        return cell;}// 将通讯录界面的数据传到修改界面以便修改- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{    SecondViewController *secondVC = [[SecondViewController alloc]init];        NSString *name = [self.array objectAtIndex:indexPath.row];        self.integer = indexPath.row;        secondVC.reveiveName = name;        NSString *phone = [self.arrayPhone objectAtIndex:indexPath.row];        secondVC.reveivePhone = phone;        NSString *image = [self.arrayImage objectAtIndex:indexPath.row];        secondVC.reveiveImage = image;            secondVC.delegate = self;            [self.navigationController pushViewController:secondVC animated:YES];        [secondVC release];}// 接受从修改界面传过来的数据- (void)passValue:(NSString *)name phone:(NSString *)phone{        [self.array replaceObjectAtIndex:self.integer withObject:name];        [self.arrayPhone replaceObjectAtIndex:self.integer withObject:phone];        [self.tableView reloadData];}

SecondViewController.m

#import "SecondViewController.h"@interface SecondViewController ()@end@implementation SecondViewController- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];    if (self) {        // Custom initialization    }    return self;}// 布局修改界面- (void)viewDidLoad{    [super viewDidLoad];    // Do any additional setup after loading the view.    UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];    imageView.image = [UIImage imageNamed:@"back.jpg"];        [self.view addSubview:imageView];        [imageView release];        self.imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 100, 140, 250)];        self.imageView.image = [UIImage imageNamed:self.reveiveImage];        self.imageView.backgroundColor = [UIColor blueColor];        [self.view addSubview:self.imageView];            UILabel *name = [[UILabel alloc]initWithFrame:CGRectMake(140, 100, 90, 30)];        name.text = @"姓名:";        [self.view addSubview:name];            self.textFieldName = [[UITextField alloc]initWithFrame:CGRectMake(200, 100, 90, 40)];        self.textFieldName.text = self.reveiveName;        self.textFieldName.tag = 1001;        self.textFieldName.backgroundColor = [UIColor grayColor];        [self.view addSubview:self.textFieldName];        UILabel *phone = [[UILabel alloc]initWithFrame:CGRectMake(140, 160, 70, 30)];        phone.text = @"手机号:";        [self.view addSubview:phone];        self.textFieldPhone = [[UITextField alloc]initWithFrame:CGRectMake(200, 160, 110, 40)];        self.textFieldPhone.tag = 1002;        self.textFieldPhone.text = self.reveivePhone;        self.textFieldPhone.backgroundColor = [UIColor grayColor];        [self.view addSubview:self.textFieldPhone];            UIButton *submit = [UIButton buttonWithType:UIButtonTypeSystem];        submit.frame = CGRectMake(170, 220, 40, 40);        [submit setTitle:@"提交" forState:UIControlStateNormal];        [submit addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];        [self.view addSubview:submit];        UIButton *cancel = [UIButton buttonWithType:UIButtonTypeSystem];        cancel.frame = CGRectMake(220, 220, 40, 40);        [cancel setTitle:@"取消" forState:UIControlStateNormal];        [cancel addTarget:self action:@selector(buttonCancel:) forControlEvents:UIControlEventTouchUpInside];        [self.view addSubview:cancel];        [_imageView release];        [_textFieldName release];        [_textFieldPhone release];    }// 提交将数据保存返回到上一页面- (void)buttonClicked:(UIButton *)button{    [self.delegate passValue:_textFieldName.text phone:_textFieldPhone.text ];    [self.navigationController popToRootViewControllerAnimated:YES];        }// 取消返回上一页- (void)buttonCancel:(UIButton *)button{    [self.navigationController popToRootViewControllerAnimated:YES];}// 关掉键盘- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{        for (int i = 1; i < 3; i++) {        UITextField *text = (UITextField *)[self.view viewWithTag:1000 + i];        [text resignFirstResponder];    }}
TableViewCell.m

#import "TableViewCell.h"@implementation TableViewCell// 创建修改画面- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];    if (self) {        // Initialization code                self.myImageView = [[UIImageView alloc]init];                [self.contentView addSubview:self.myImageView];                self.myLabel = [[UILabel alloc]init];                [self.contentView addSubview:self.myLabel];                self.myPhoneLabel = [[UILabel alloc]init];                [self.contentView addSubview:self.myPhoneLabel];                [_myImageView release];                [_myLabel release];                [_myPhoneLabel release];            }    return self;}// 布局通讯录主画面- (void)layoutSubviews{    [super layoutSubviews];        _myImageView.frame = CGRectMake(0, 0, self.contentView.frame.size.width / 2, self.contentView.frame.size.height);        _myLabel.frame = CGRectMake(self.contentView.frame.size.width / 5 * 3, 0, self.contentView.frame.size.width / 2, self.contentView.frame.size.height / 2);        _myPhoneLabel.frame = CGRectMake(self.contentView.frame.size.width / 5 * 3, self.contentView.frame.size.height / 2, self.contentView.frame.size.width / 2, self.contentView.frame.size.height / 2);}



0 0
原创粉丝点击