記錄一個頁面的功能:
textview的占位符,字數統計,提交按鈕的交互設置,具體效果圖如下:
輸入效果:
具體實現代碼如下:
1,設置代理
@interface FKViewController ()<UITextViewDelegate>
2,我是直接xib拖拽的控件
@property (weak, nonatomic) IBOutlet UITextView *FKTextView; @property (weak, nonatomic) IBOutlet UILabel *descLab; @property (weak, nonatomic) IBOutlet UIButton *sendBtn; @property (weak, nonatomic) IBOutlet UILabel *stringlenghtLab;
3,viewDidLoad里面
self.FKTextView.delegate = self; self.descLab.userInteractionEnabled = NO; self.sendBtn.userInteractionEnabled = NO; self.sendBtn.backgroundColor = [UIColor lightGrayColor];
4,具體代理方法實現
-(void)textViewDidChange:(UITextView *)textView { self.descLab.hidden = YES; self.sendBtn.userInteractionEnabled = YES; self.sendBtn.backgroundColor = MainColor; //實時顯示字數 self.stringlenghtLab.text = [NSString stringWithFormat:@"%ld/100",(long)textView.text.length]; //字數限制 if (textView.text.length >= 100) { textView.text = [textView.text substringToIndex:100]; } //取消按鈕點擊權限,並顯示文字 if (textView.text.length == 0) { self.descLab.hidden = NO; self.sendBtn.userInteractionEnabled = NO; self.sendBtn.backgroundColor = [UIColor lightGrayColor]; } } -(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { if ([text isEqualToString:@"\n"]) { [self.FKTextView resignFirstResponder]; return NO; } return YES; }
僅做記錄!