如 iphone 內應用「資訊」的輸入框一樣,輸入文字過多或者輸入換行,輸入框可以隨著內容自動變化。主要是計算內容的尺寸並相應更改輸入框的frame。具體表現在:
更改輸入框的 frame.origin.y;
更改輸入框的高度。
兩者的變化量是相同的。
為了能達到實時性,就要監聽文字的變化,註冊 uitextviewtextdidchangenotification 的監聽,並在合適的時候解除監聽。
- (void)willmovetosuperview:(uiview *)newsuperview在監聽的方法中,更改 textview 的frame- (void
)removefromsuperview
- (void)textdidchanged:(nsnotification *)notif在本例中,textview 是 self (uiview) 的 subview,並且設定好了 uiviewautoresizingmask,所以更改 self.frame,變相地更改 textview.frame。cgfloat minus = 3
;
cgrect selfframe =self.frame;
cgfloat selfheight = self.textview.superview.frame.origin.y * 2 + contentsize.height - minus + 2 * 2
; cgfloat selforiginy = selfframe.origin.y - (selfheight -selfframe.size.height);
selfframe.origin.y =selforiginy;
selfframe.size.height =selfheight;
self.frame =selfframe;
}
DIV自動增高方法處理
在firefox中,當內容的盒子使用了float之後,並且當內容大於盒子 div 的高度的時候,盒子並不會隨內容的增大而增大,造成內容跑到了盒子 的外面。在內容的末尾加clear可解決這個問題。同時,為了使這個加了clear的盒子本身不影響布局,必須使該盒子的大小為0。這裡就又遇到了ie和 fire...
iOS中使用OpenGL 實現增高功能
demo示例 opengl原理 這樣拆分之後雖然可以正常渲染,但是帶來的問題是我的四個頂點都是死的,也就是四個頂點必須是畫布的四個頂點,改變頂點的座標後只能導致整張畫布的變動,而不是某乙個區域的變動,拉伸的話也是整張的拉伸,所以想要實現區域性處理的話這種分割方式不可行。這樣一來就可以保證中間的矩形的...
android跑馬燈效果的TextView
有時候為了布局需要在一行顯示很多文字資訊,當textview中文字超過了textview的長度時,我們需要用跑馬燈的效果來展現文字。android ellipsize marquee 跑馬燈效果顯示 android focusable true 獲得焦點 android focusableintou...