Local declaration of ‘XXX’ hides instance variable
遇到这种原因,是因为本地变量跟函数参数变量同名。开来,还是要注意变量的命名啊!
[self.myTableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
代理方法实现。要么直接改变textfield的x值
iconLeftView.contentMode =UIViewContentModeScaleAspectFit;
在 cell alloc之后!!
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.selectionStyle = UITableViewCellSelectionStyleNone;
[tableView deselectRowAtIndexPath:indexPath animated:YES];
老大说再改改就能用了。加班改代码中。。。
#import "DSNewRegistViewController.h"
#define kDefaultHeight 44 //默认cell高度
#define kBaseCellRect CGRectMake(0, 0, self.view.frame.size.width , kDefaultHeight) //默认cellrect
#define kTextMarginLeft self.view.width*0.2 // 文字左边距
#define kIconSize 30 // 图标尺寸 30*30
#define kIconMarginLeft self.view.width*0.1 // 图标左边距
#define kTextWidth self.view.width*0.6 // text的宽度
@interface DSNewRegistViewController (){
NSArray *leftIcon; //左边图标
NSArray *eyesIcon; // 眼睛图标
NSArray *labelArray; // 提示信息数组
}
@property(nonatomic,strong)UITableViewCell *nameCell;//昵称
@property(nonatomic,strong)UITableViewCell *phoneCell;//手机号
@property(nonatomic,strong)UITableViewCell *loginPswCell;//登录密码
@property(nonatomic,strong)UITableViewCell *payPswCell;//支付
@property(nonatomic,strong)UITableViewCell *tipCell;// 提示信息
@property(nonatomic,strong)UITableViewCell *protocolCell;// 得仕协议
@property(nonatomic,strong)UITableViewCell *submitCell;// 提交按钮
@property(assign,nonatomic)NSInteger rowIndex;
@property(nonatomic,strong)UITableViewCell *cell;
@end
@implementation DSNewRegistViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationItem.title = @"注册";
self.rowIndex = 7;
//图标数组
leftIcon =@[@"regist_icon01",@"regist_icon02",@"regist_icon04",@"regist_icon05",@"regist_icon03"];//左边图标
eyesIcon =@[@"regist_icon06",@"regist_icon07"];// 眼睛图标
// 提示信息数组
labelArray = @[@"设置一个昵称吧",@"手机号",@"设置登录密码",@"登录密码和支付密码均为6-20位,数字,字母及组合",@"设置支付密码"];
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return self.rowIndex;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//tableView空白样式
[tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
static NSString *identifier = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
NSInteger row = indexPath.row;
cell = [self Cell:row];
return cell;
}
//
-(UITableViewCell *)Cell :(NSInteger)row{
switch (row) {
case 0:
{
if (_nameCell == nil) {
_nameCell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"nameCell"];
//
_nameCell.selectionStyle = UITableViewCellSelectionStyleNone;
UIView *baseView= [[UIView alloc]initWithFrame:kBaseCellRect];
[self loadCellView:baseView withRow:row];
[_nameCell.contentView addSubview:baseView];
}
return _nameCell;
}
break;
case 1:
{
if (_phoneCell == nil) {
_phoneCell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"phoneCell"];
_phoneCell.selectionStyle = UITableViewCellSelectionStyleNone;
UIView *baseView= [[UIView alloc]initWithFrame:kBaseCellRect];
[self loadCellView:baseView withRow:row];
[_phoneCell.contentView addSubview:baseView];
}
return _phoneCell;
}
break;
case 2:
{
if (_loginPswCell == nil) {
_loginPswCell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"loginPswCell"];
_loginPswCell.selectionStyle = UITableViewCellSelectionStyleNone;
UIView *baseView= [[UIView alloc]initWithFrame:kBaseCellRect];
[self loadCellView:baseView withRow:row];
[_loginPswCell.contentView addSubview:baseView];
}
return _loginPswCell;
}
break;
case 3:
{
if (_payPswCell == nil) {
_payPswCell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"payPswCell"];
_payPswCell.selectionStyle = UITableViewCellSelectionStyleNone;
UIView *baseView= [[UIView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width , 50)];
baseView.backgroundColor = DSColor(239, 239, 239);
[self loadCellView:baseView withRow:row];
[_payPswCell.contentView addSubview:baseView];
}
return _payPswCell;
}
break;
case 4:
{
if (_tipCell == nil) {
_tipCell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"tipCell"];
_tipCell.selectionStyle = UITableViewCellSelectionStyleNone;
UIView *baseView= [[UIView alloc]initWithFrame:kBaseCellRect];
[self loadCellView:baseView withRow:row];
[_tipCell.contentView addSubview:baseView];
}
return _tipCell;
}
break;
case 5:
{
if (_protocolCell == nil) {
_protocolCell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"protocolCell"];
_protocolCell.selectionStyle = UITableViewCellSelectionStyleNone;
UIView *baseView= [[UIView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width , 60)];
baseView.backgroundColor = DSColor(239, 239, 239);
[self loadCellView:baseView withRow:row];
[_protocolCell.contentView addSubview:baseView];
}
return _protocolCell;
}
break;
case 6:
{
if (_submitCell == nil) {
_submitCell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"submitCell"];
_submitCell.selectionStyle = UITableViewCellSelectionStyleNone;
UIView *baseView= [[UIView alloc]initWithFrame:kBaseCellRect];
baseView.backgroundColor = DSColor(239, 239, 239);
[self loadCellView:baseView withRow:row];
[_submitCell.contentView addSubview:baseView];
}
return _submitCell;
}
break;
}
return nil;
}
// 初始化cell的布局
- (void)loadCellView:(UIView *)view withRow:(NSInteger)row
{
switch (row) {
case 0:
{
UIImageView *iconView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:leftIcon[row]]];
iconView.frame = CGRectMake(kIconMarginLeft, 5 , kIconSize, kIconSize);
iconView.contentMode =UIViewContentModeScaleAspectFit;
UITextField *field=[[UITextField alloc] initWithFrame:CGRectMake(kIconMarginLeft+2*kIconSize, 0, view.width - kIconMarginLeft -2*kIconSize, kDefaultHeight)];
field.textAlignment=NSTextAlignmentLeft;
field.font=[UIFont systemFontOfSize:14];
field.placeholder = labelArray[row];
field.delegate = self;
[self drawLine:view withFrame:CGRectMake(0, kDefaultHeight -1, self.view.width, 1)];
[view addSubview:iconView];
[view addSubview:field];
break;
}
case 1:
{
UIImageView *iconView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:leftIcon[row]]];
iconView.frame = CGRectMake(kIconMarginLeft, 5 , kIconSize, kIconSize);
iconView.contentMode =UIViewContentModeScaleAspectFit;
UITextField *field=[[UITextField alloc] initWithFrame:CGRectMake(kIconMarginLeft+2*kIconSize, 0, view.width - kIconMarginLeft -2*kIconSize, kDefaultHeight)];
field.textAlignment=NSTextAlignmentLeft;
field.font=[UIFont systemFontOfSize:14];
field.keyboardType = UIKeyboardTypePhonePad ;
field.placeholder = labelArray[row];
field.delegate = self;
[self drawLine:view withFrame:CGRectMake(0, kDefaultHeight -1, self.view.width, 1)];
[view addSubview:iconView];
[view addSubview:field];
break;
}
case 2:
{
UIImageView *iconLeftView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:leftIcon[row]]];
iconLeftView.frame = CGRectMake(kIconMarginLeft, 5 , kIconSize, kIconSize);
UITextField *field=[[UITextField alloc] initWithFrame:CGRectMake(kIconMarginLeft+2*kIconSize, 0, view.width - 2*(kIconMarginLeft +1.5*kIconSize ) , kDefaultHeight)];
field.textAlignment=NSTextAlignmentLeft;
field.font=[UIFont systemFontOfSize:14];
field.keyboardType = UIKeyboardTypePhonePad ;
field.placeholder = labelArray[row];
field.delegate = self;
UIButton* iconRightBtn= [[UIButton alloc]initWithFrame:CGRectMake(field.x+field.width , 5 , kIconSize, kIconSize)];
[iconRightBtn setImage:[UIImage imageNamed:eyesIcon[0]] forState:UIControlStateNormal];
[iconRightBtn setImage:[UIImage imageNamed:eyesIcon[0]] forState:UIControlStateHighlighted];
[iconRightBtn setImage:[UIImage imageNamed:eyesIcon[1]] forState:UIControlStateSelected];
iconRightBtn.contentMode =UIViewContentModeScaleAspectFit;
[iconRightBtn addTarget:self action:@selector(agreeClick:) forControlEvents:UIControlEventTouchUpInside];
[self drawLine:view withFrame:CGRectMake(0, kDefaultHeight -1, self.view.width, 1)];
[view addSubview:iconLeftView];
[view addSubview:iconRightBtn];
[view addSubview:field];
break;
}
case 3:
{
UIImageView *tipIconView = [[UIImageView alloc]init];
tipIconView.contentMode =UIViewContentModeScaleAspectFit;
tipIconView.frame = CGRectMake(kIconMarginLeft, 5 , kIconSize, kIconSize);
tipIconView.image = [UIImage imageNamed:leftIcon[row]];
UILabel *tipLabel=[[UILabel alloc] initWithFrame:CGRectMake(kIconMarginLeft+kIconSize, 0, view.width - kIconMarginLeft -2*kIconSize, kDefaultHeight)];
tipLabel.text= labelArray[row];
tipLabel.textColor = [UIColor redColor];
tipLabel.numberOfLines = 0;
tipLabel.font =[UIFont systemFontOfSize:13];
[self drawLine:view withFrame:CGRectMake(0, 50 -1, self.view.width, 1)];
[view addSubview:tipIconView];
[view addSubview:tipLabel];
break;
}
case 4:
{
UIImageView *iconLeftView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:leftIcon[row]]];
iconLeftView.frame = CGRectMake(kIconMarginLeft, 5 , kIconSize, kIconSize);
UITextField *field=[[UITextField alloc] initWithFrame:CGRectMake(kIconMarginLeft+2*kIconSize, 0, view.width - 2*(kIconMarginLeft +1.5*kIconSize ) , kDefaultHeight)];
field.textAlignment=NSTextAlignmentLeft;
field.font=[UIFont systemFontOfSize:14];
field.keyboardType = UIKeyboardTypePhonePad ;
field.placeholder = labelArray[row];
field.delegate = self;
UIButton* iconRightBtn= [[UIButton alloc]initWithFrame:CGRectMake(field.x+field.width , 5 , kIconSize, kIconSize)];
[iconRightBtn setImage:[UIImage imageNamed:eyesIcon[0]] forState:UIControlStateNormal];
[iconRightBtn setImage:[UIImage imageNamed:eyesIcon[0]] forState:UIControlStateHighlighted];
[iconRightBtn setImage:[UIImage imageNamed:eyesIcon[1]] forState:UIControlStateSelected];
iconRightBtn.contentMode =UIViewContentModeScaleAspectFit;
[iconRightBtn addTarget:self action:@selector(agreeClick:) forControlEvents:UIControlEventTouchUpInside];
[self drawLine:view withFrame:CGRectMake(0, kDefaultHeight -1, self.view.width, 1)];
[view addSubview:iconLeftView];
[view addSubview:iconRightBtn];
[view addSubview:field];
break;
}
case 5:
{
UIButton* iconView = [[UIButton alloc]init];
iconView.frame = CGRectMake(kIconMarginLeft, 5 , kIconSize, kIconSize);
[iconView setImage:[UIImage imageNamed:@"new_feature_share_false"] forState:UIControlStateNormal];
[iconView setImage:[UIImage imageNamed:@"new_feature_share_true"] forState:UIControlStateSelected];
[iconView addTarget:self action:@selector(agreeClick:) forControlEvents:UIControlEventTouchUpInside];
// [iconView setImageEdgeInsets:UIEdgeInsetsMake(10, 5,10 ,5)];
UILabel* agreeLabel=[[UILabel alloc] initWithFrame:CGRectMake(kIconMarginLeft+kIconSize, 0, view.width - kIconMarginLeft +kIconSize , kDefaultHeight)];
agreeLabel.text= @"我已阅读并同意《得仕钱包服务协议》";
agreeLabel.textColor = [UIColor blackColor];
agreeLabel.font =[UIFont systemFontOfSize:13];
[view addSubview:iconView];
[view addSubview:agreeLabel];
break;
}
case 6:
{
UIButton * submitBtn=[self LoadDefaultButtonInView:self.view withFrame:CGRectMake(kTextMarginLeft, 0, kTextWidth, 30) title:@"提交"];
[submitBtn addTarget:self action:@selector(submitBtnClick) forControlEvents:UIControlEventTouchUpInside];
[submitBtn.layer setMasksToBounds:YES];
[submitBtn.layer setCornerRadius:5.0];
[view addSubview:submitBtn];
break;
}
}
}
// 画线
- (void)drawLine:(UIView *)view withFrame:(CGRect)frame
{
UIView *line=[[UIView alloc] initWithFrame:frame];
line.backgroundColor=[UIColor colorWithWhite:0.85 alpha:1.0];
[view addSubview:line];
}
- (void)agreeClick:(UIButton *)btn
{
btn.selected = !btn.selected;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row==3)
{
return 50;
}
else if(indexPath.row==5)
{
return 60;
}
return 44;
}
#pragma mark - 提交按钮点击事件
- (void)submitBtnClick
{
NSLog(@"Clicked on this button");
// DSRegistNextViewController *tViewCtr=[[DSRegistNextViewController alloc]init];
// [self.navigationController pushViewController:tViewCtr animated:YES];
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end