gpt4 book ai didi

iPhone - 使用模式对话框时,UITextField 未设置为可编辑编程?

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

我对 iPhone 开发还算陌生,但在一个看似非常简单的事情上遇到了一些麻烦。

   - (IBAction) addButtonPressed:(id) sender {

AddDrinkViewController *addDrinkVC = [[AddDrinkViewController alloc] initWithNibName:@"DrinkDetailView" bundle:nil];
UINavigationController *addNavCon = [[UINavigationController alloc] initWithRootViewController:addDrinkVC];

//the textview is not becoming editable here, even thou i'm setting the property to true.
addDrinkVC.ingredientsTextView.editable = YES;

[self presentModalViewController:addNavCon animated:YES];

[addDrinkVC release];
[addNavCon release];
}

基本上,点击导航 Controller 上的 [+] 按钮就会出现模态视图。

显示的 View 是从另一个 View 扩展而来的,该 View 最初从 Nib 本身禁用了文本字段和 TextView 。

我试图在点击 [ + ] 时使 TextView 和文本字段可编辑,但到目前为止,我还没有任何运气。

我知道这似乎是一件非常简单的事情,但我一直在网上查找但无法找到答案......也许我错过了关于模态视图行为的一些非常基本的东西?

提前非常感谢。

最佳答案

有两件事:

假设使用 Interface Builder 将 TextView 添加到 View Controller ,您可能忘记将 IB 中的 View 连接到代码中的 IBOutlet。

要测试这一点,您可以添加一个快速断言:

NSAssert(addDrinkVC.ingredientsTextView,@"ingredientsTextView in AddDrinkViewController is nil. Did I forget to wire it?")
addDrinkVC.ingredientsTextView.editable = YES;

如果断言失败,您的程序将崩溃,您将在控制台上看到该消息。

其次,我会将设置可编辑属性的逻辑移动到 View Controller 本身中(在您的情况下为 AddDrinkViewController 类)

      -(void) viewWillAppear:(BOOL) animated {
[super viewWillAppear:animated];
NSAssert(addDrinkVC.ingredientsTextView,@"ingredientsTextView in AddDrinkViewController is nil. Did I forget to wire it?")
addDrinkVC.ingredientsTextView.editable = YES;
}

-或-

-(void) viewDidLoad {
NSAssert(addDrinkVC.ingredientsTextView,@"ingredientsTextView in AddDrinkViewController is nil. Did I forget to wire it?")
addDrinkVC.ingredientsTextView.editable = YES;
}

关于iPhone - 使用模式对话框时,UITextField 未设置为可编辑编程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2376757/

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