gpt4 book ai didi

iPhone:如何使 UITextField、UITextView 在切换 View 时不可编辑

转载 作者:行者123 更新时间:2023-12-03 20:19:37 27 4
gpt4 key购买 nike

我的 iPhone 应用程序中有两个 View - 一个是表格 View ,另一个是详细 View 。当选择表中的一行时,将显示详细 View 。

我使用 Nib 查看详细信息来编辑记录、添加新记录以及显示记录。详细信息 View 有一个 UITextField 和一个 UITextView,当我只是显示记录时,需要将其设置为不可编辑。在 tableview 的 didSelectRowAtIndexPath 方法中我尝试了这个...

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// Navigation logic may go here. Create and push another view controller.
MemoDetailViewController *memoDetailViewController = [[MemoDetailViewController alloc] initWithNibName:@"MemoDetailViewController" bundle:nil];

memoDetailViewController.memo = [self.resultsController objectAtIndexPath:indexPath];

// making the text field and text view uneditable - DID NOT WORK???
memoDetailViewController.memoTitleText.enabled = NO;
memoDetailViewController.memoTextView.editable = NO;

// Pass the selected object to the new view controller.
[self.navigationController pushViewController:memoDetailViewController animated:YES];
[memoDetailViewController release];
}

这不起作用。文本字段和 uitextview 保持可编辑 - 当我点击它们时键盘会出现。我在这里缺少什么?

最佳答案

可能最简单的方法是使用它们各自的委托(delegate)方法。它们是相同的,只是名称不同。以 UITextField 为例,基本方法是这样的

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
if (someCaseWhereYouWantToEdit) {
return YES;
} else {
return NO;
}
}

这可以让您指定何时让它继续编辑。您当然需要将 textField 和 textView 实例设置为 self 作为其委托(delegate),并在 header 中导入委托(delegate)协议(protocol)

关于iPhone:如何使 UITextField、UITextView 在切换 View 时不可编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6541680/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com