剛開始的時候,非常害怕有輸入框的介面,因為鍵盤出現後,用掉了大部分的螢幕,很多輸入框都被覆蓋了。隨著經驗的增加,突然有一天想明白了,其實很簡單。
下面是其方法:
1,把所有空間放到乙個uiscrollview之中,而不是預設的uiview
一般情況下,把uiscrollview設成100%覆蓋uiview。
其它空間,如uilabel, uitextfield, uibutton等可以使用大小自動調整等。
2, 處理鍵盤顯示、隱藏時調整scrollview的contentsize
第一步:view出現後開始偵聽鍵盤顯示、隱藏時間。
第二步:view消失時登出鍵盤偵聽。
第三步:鍵盤顯示事件處理。
- (void)keyboarddidshown:(nsnotification *)notification
// uiview的大小
cgsizevwsize =
self
.view.bounds.size;
// 最低高度=最下面控制項(這裡是txtregister)的起始位置(origin.y)+高度(size.height)
cgfloatminbottom =
txtregister
.frame.origin.y+
txtregister
.frame.size.height* 2;
// 最低高度加上鍵盤的高度
minbottom += kbsize.height;
// 如果鍵盤沒有覆蓋最下面的控制項,則最低高度等於視窗大小
if (vwsize.height > minbottom)
minbottom = vwsize.height;
// 調整scrollview的contentsize等於最低高度(寬度不變)
// 這樣所有控制項都可以移動到鍵盤之外
self.viewscroll.contentsize = cgsizemake(vwsize.width, minbottom);
}第四步:鍵盤消失事件處理。
- (void)keyboardwillhide:(nsnotification *)notification
希望對大家有所幫助。
輸入框不能隨鍵盤上移的問題
有時候我們發現並不好用,並不能把軟鍵盤放到edittext輸入鍵盤下,如 adjustresize statevisible這兩個屬性加上也不好使,會導致activity上移,非常不好的體驗,所以我們需要動態設定 private boolean isfirst true private int co...
js實現輸入框輸入的自動匹配功能
完成輸入框輸入的自動匹配功能。參考 這裡增加了和輸入拼音相對應的中文匹配。如果能進一步完善,多謝指教。核心js 如下,demo見附件。輸入框的自動匹配核心控制類 param fixdom 存放用於匹配的值的div物件 function inputautofix aconfig var canfix ...
jQuery 實現自動增長的文字輸入框
function var settings extend defaultsettings,settings var handler function jquery this attr size settings.min var actlength jquery this val length if ...