gpt4 book ai didi

ios - 如何禁用基于 UISwitch 的 UITextView 的编辑?

转载 作者:行者123 更新时间:2023-11-29 10:21:34 27 4
gpt4 key购买 nike

我有一个 UITextView,如果 UISwitch 的状态设置为 ON,我想禁用它的“可编辑”属性。

myTextView = [[UITextView alloc]initWithFrame:CGRectMake(20, 180, 200, 30)];
myTextView.backgroundColor = [UIColor whiteColor];
myTextView.text = @"This is a textView";
[self.view addSubview:myTextView];
mySwitch = [[UISwitch alloc]initWithFrame:CGRectMake(230, 125, 200, 30)];
[self.view addSubview:mySwitch];

我知道我可以使用以下方法检查开关的状态:

if ([mySwitch isOn]) {
myTextView.editable = NO;
} else {
myTextView.editable = YES;
}

问题是当我运行我的项目时,文本不可编辑,但是当我滑动开关时,文本无法编辑(上面的代码很明显)。我想知道如果我切换开关,我需要做什么来更改 UITextView 的可编辑属性。

最佳答案

UISwitchUIControl 的子类类,除其他外,它提供了一个基于目标操作的模型,用于接收有关控件状态的更新。

这意味着您可以使用 -[UIControl addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents] 方法在开关更改时调用您的方法 bool 值:

[yourSwitch addTarget:self action:@selector(switchToggled:) forControlEvents:UIControlEventValueChanged]

您也可以在 Interface Builder 中执行此操作,方法是右键单击您的 UISwitch 并将其 action 分配给适当的 IBAction 方法:

- (IBAction) switchToggled:(UISwitch*)switchControl {
yourTextView.editable = switchControl.on;
}

关于ios - 如何禁用基于 UISwitch 的 UITextView 的编辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34922757/

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