swift 中uitextview的實例textview的默認提示文字

  【iOS開發(fā)】設(shè)置textView的默認提示文字忽刽,有需要的朋友可以參考下天揖。

最近項目中需要用到textView,但是在用的時候才發(fā)現(xiàn)原來textView沒有類似于textField的那種placeholder功能跪帝。

所謂placeholder就比如用戶看到一個輸入框今膊,然后輸入框里面一般會有幾個淺灰色的文字,告訴用戶這個地方是用來寫什么內(nèi)容的伞剑,當用戶開始輸入的時候斑唬,這幾個文字就自然而然地消失了。這幾個文字就是'Placeholder'黎泣。

網(wǎng)上搜了一下恕刘,有一種方式是使用代理;在.m文件中實現(xiàn)textview delegate的兩個方法:

(BOOL) textViewShouldBeginEditing:(UITextView *)textView{ if(textView.tag == 0) { textView.text = @""; textView.textColor = [UIColor blackColor]; textView.tag = 1; } return YES;}- (void)textViewDidChange:(UITextView *)textView{ if([textView.text length] == 0) { textView.text = @"Foobar placeholder"; textView.textColor = [UIColor lightGrayColor]; textView.tag = 0; }}

Tip:使用textView的代理需要在頭文件中加入:

這種方法確實可以實現(xiàn)我們想要的功能抒倚,但是有一個很明顯的bug:如果用戶輸入了幾個字以后褐着,想全部刪除了重新輸入內(nèi)容,那就會發(fā)現(xiàn)你永遠都沒法刪除干凈托呕,因為當你把最后一個字后含蓉,textViewDidChange方法就監(jiān)測到textView.text的 length = 0了 于是就會自動幫你不上你想要顯示的placeholder。项郊。馅扣。可以腦補下那個畫面着降,瘋狂地刪除差油,卻怎么也刪不干凈。

然后就采用了另外的方法任洞,就是添加一個label蓄喇,這個label里面寫入你想要顯示的placeholder,然后還是在textViewDidChange方法里面交掏,如果當前的text長度為0妆偏,就把label顯示出來,否則的話耀销,就把Label隱藏了楼眷。

把我的程序里面和這部分內(nèi)容相關(guān)的摘出來吧:

.h文件

@interface FeedbackViewController : UIViewController@propert(strong,nonatomic) IBOutlet UITextView *textView;@end

.m文件

viewDidLoad函數(shù):

- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. label = [[UILabel alloc]initWithFrame:CGRectMake(3, 3, 200, 20)]; label.enabled = NO; label.text = @"在此輸入反饋意見"; label.font = [UIFont systemFontOfSize:15]; label.textColor = [UIColor lightGrayColor]; [self.textView addSubview:label];}初始化的時候把label的內(nèi)容設(shè)置一下。注意這個label是添加在textView里面的熊尉,我調(diào)試了一下 起始位置(3,3)是個還算不錯的位置罐柳。注意要把label設(shè)置成不可點擊。

textView的代理:

//TextView Delegate- (void) textViewDidChange:(UITextView *)textView{ if ([textView.text length] == 0) { [label setHidden:NO]; }else{ [label setHidden:YES]; }}

來自:嘆落花 ?> 《UITextView》

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末狰住,一起剝皮案震驚了整個濱河市张吉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌催植,老刑警劉巖肮蛹,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異创南,居然都是意外死亡伦忠,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門稿辙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來昆码,“玉大人,你說我怎么就攤上這事邻储「逞剩” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵吨娜,是天一觀的道長脓匿。 經(jīng)常有香客問我,道長宦赠,這世上最難降的妖魔是什么陪毡? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮袱瓮,結(jié)果婚禮上缤骨,老公的妹妹穿的比我還像新娘。我一直安慰自己尺借,他們只是感情好绊起,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著燎斩,像睡著了一般虱歪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上栅表,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天笋鄙,我揣著相機與錄音,去河邊找鬼怪瓶。 笑死萧落,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播找岖,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼陨倡,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了许布?” 一聲冷哼從身側(cè)響起兴革,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蜜唾,沒想到半個月后杂曲,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡袁余,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年擎勘,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片颖榜。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡货抄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出朱转,到底是詐尸還是另有隱情蟹地,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布藤为,位于F島的核電站怪与,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏缅疟。R本人自食惡果不足惜分别,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望存淫。 院中可真熱鬧耘斩,春花似錦、人聲如沸桅咆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽岩饼。三九已至荚虚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間籍茧,已是汗流浹背版述。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留寞冯,地道東北人渴析。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓晚伙,卻偏偏與公主長得像,于是被迫代替她去往敵國和親俭茧。 傳聞我的和親對象是個殘疾皇子撬腾,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容