当我的UITextView处于编辑状态时,我想要出现一个按钮。我该怎么做?谢谢!
在你的类中实现UITextViewDelegate
,当UITextView
开始编辑时,它将调用它的textViewShouldBeginEditing:
函数,在这个函数中你可以做任何你想做的事情。你可以在编辑开始时显示按钮,在编辑结束时隐藏按钮。
– textViewShouldEndEditing
如需更多详细信息,请参阅此处
。我会稍微详细解释上面的答案:
YourViewController.h
@interface YourViewController : UIViewController <UITextViewDelegate>
YourViewController.m
- (void)viewDidLoad
{
[super viewDidLoad];
self.yourTextView.delegate = self;
}
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView{
// do smth like create a button
return TRUE;
}
阅读苹果手册获取更多信息
//在视图加载完成后。
UITextField entered1 = [[UITextField alloc] initWithFrame:CGRectMake(120.0, 85.0, 150.0, 25.0)];
[entered1 setBackgroundColor:[UIColor whiteColor]];
[entered1 addTarget:self action:@selector(example:)forControlEvents:UIControlEventTouchDown];
[self.view addSubview:entered1];
[entered1 release];
或者
[textfieldname addTarget:self action:@selector(example:)forControlEvents:UIControlEventTouchDown];
.........
}
-(IBAction) example:(UIControl *)sender
{
//your code here.
}
查看UITextViewDelegate协议参考。如果将您的UIViewController设置为UITextView的delegate
,它将收到textViewDidBeginEditing:
和textViewDidEndEditing:
消息。当您接收到这些消息时,可以显示/隐藏您的按钮。
Xcode 6.4,iOS 8.4,启用ARC
不要犯我的错误,我花了很长时间才弄清楚,但我一直在添加...
@interface YourViewController : UIViewController <UITextFieldDelegate>
因为我习惯于使用UITextField,但显然我们需要...
@interface YourViewController : UIViewController <UITextViewDelegate>
希望这能为某人节省时间。干杯!
UITextView
的。 - Artem Stepanenko