ios開發之--實現TextView提示文字並且輸入字數限制


實現字數控制和限制,並展示當前輸入的字符串長度,以及按鈕的點擊狀態,代碼如下:

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時,按鈕返回初始狀態,有輸入字符時,顯示為可點擊狀態,很簡單,僅做記錄用!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM