實現字數控制和限制,並展示當前輸入的字符串長度,以及按鈕的點擊狀態,代碼如下:
1,設置代理
@interface FKViewController ()<UITextViewDelegate> @property (weak, nonatomic) IBOutlet UITextView *FKTextView; @property (weak, nonatomic) IBOutlet UILabel *descLab; @property (weak, nonatomic) IBOutlet UIButton *sendBtn; @property (weak, nonatomic) IBOutlet UILabel *stringlenghtLab;
2,設置初始狀態
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view from its nib. self.view.backgroundColor = BackgroundColor; self.navigationController.navigationBarHidden = YES; CustomNavigationBar *nav = [[CustomNavigationBar alloc]initWithFrame:CGRectMake(0, 0, KscreenW, NavHeight) withTitle:@"意見反饋" withLeftBtnHidden:NO withRightBtn:YES]; nav.delegate = self; [self.view addSubview:nav]; self.FKTextView.delegate = self; self.descLab.userInteractionEnabled = NO; self.sendBtn.userInteractionEnabled = NO; self.sendBtn.backgroundColor = [UIColor lightGrayColor]; }
3,代理方法的實現
-(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]; } }
字符串長度為0時,按鈕返回初始狀態,有輸入字符時,顯示為可點擊狀態,很簡單,僅做記錄用!