我想在应用程序第一次启动时使textfield不可编辑。 我通过点击它来获得UIBarbutton项目,它将使文本域可编辑。 我正在尝试下面的代码,但没有工作。
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
if(edit == NO){
textField.enabled = NO;
}
if(edit == YES){
textField.enabled = NO;
}
return YES;}
答案 0 :(得分:2)
您应该使用此方法
-(Void)viewwillappers
{
[textfield setEnable:NO];
}
单击条形按钮后,在按钮单击方法中将其设置为“是”。
答案 1 :(得分:2)
txtfld.userInteractionEnabled = NO;
// perform changes and enable afterwards
txtfld.userInteractionEnabled = YES;
答案 2 :(得分:2)
试试这个
-(Void)viewwillapper
{
[textfield setuserintractionEnable:yes];
}
答案 3 :(得分:2)
您可以使用- (void)viewWillAppear:(BOOL)animated
代理
- (void)viewWillAppear:(BOOL)animated
{
[textfield setEnable:NO];
}
在条形按钮的点击方法中写下[textfield setEnable:YES];
,
- (IBAction)clicked:(id)sender
{
[textfield setEnable:YES];
}
如果您使用上面的代码,那么如果您导航到另一个视图(详细视图)并返回,那么textField也将被禁用。如果您不想这样,请使用以下代码:
- (void)viewDidLoad
{
[textfield setEnable:NO];
}
有关视图控制器委托的更多信息:UIViewController Class Reference
答案 4 :(得分:1)
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView
dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleValue1
reuseIdentifier:CellIdentifier]
autorelease];
}
cell.textLabel.text=[Players objectAtIndex:indexPath.row];
playername=[[UITextField alloc]initWithFrame:CGRectMake(10, 3, 280, 30)];
playername.placeholder=@"Player";
playername.delegate=self;
playername.keyboardType=UIKeyboardTypeDefault;
// playername.returnKeyType=UIReturnKeyDone;
[cell.contentView addSubview:playername];
return cell;
}
将其用于动态文本字段。
答案 5 :(得分:1)
此外,如果您正在使用Storyboard,则只需取消选中TextField的“enabled”复选框即可。应该做的伎俩。
答案 6 :(得分:0)
简单。
在XIB中,对于textrField的属性,取消选中“启用用户交互”
。现在Bar按钮的click事件使用:
[textfield setEnable:NO];
作用:
再次加载此视图时。首先,textField将被禁用。
所以它会按你的意愿去做。
答案 7 :(得分:0)
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *MyIdentifier = @"tblCellView";
PlayerDetailsCell *cell = (PlayerDetailsCell *)[tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if(cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"PlayerDetailsCell" owner:self options:nil];
cell = tblCell;
}
return cell;
}
在你的表视图中使用此代码并调用你的uitableviewcell类。我正在调用(playerdetailscell)