iOS開發之自定義UITextField的方法

2022-09-25 03:30:10 字數 962 閱讀 7750

uitextfield是ios開發中使用者互動中重要的乙個控制項,常被用來做賬mikuozu號密碼框,輸入資訊框等。

觀察效果圖

uitextfield有以下幾種特點:

1.預設佔位文字是灰色的

2.當光標點上去時,佔位文字變為白色

3.游標是白色的

接下來我們通過不同的方法來解決問題

一.將xib中的uitextfield與**關聯

通過nsattributestring方法來更改佔位文字的屬性

(void)viewdidload

但是這種方法只能做出第一種效果,而且不具有通用性。

二.自定義乙個uitextfield的類

重寫它的drawplaceholderinrect方法

//畫出佔位文字- (void)drawplaceholderinrect:(cgrect)rect ];

}這個方法和上乙個方法類似,只能做出第一種效果,但這個具有通用性

三.利用runtime執行時機制

runtime是官方的一套c語言庫

能做出很多底層的操作(比如訪問隱藏的一些成員變數\成員方法)

(void)initialize

}利用class_copyivarlist這個c函式,將所有的成員變數列印出來

這樣我們就可以直程式設計客棧接通過kvc進行屬性設定了

- (void)awakefromnib

通過這個方法可以完成所有的效果,既具有通用性也簡單

最後乙個效果是

在獲得焦點時改變佔位文字顏色

在失去焦點時再改回去

//獲得焦點時

- (bool)bewww.cppcns.comcomefirstresponder

//失去焦點時

- (bool)resignfirstresponder

本文標題: ios開發之自定義uitextfield的方法

本文位址:

iOS 之自定義view

自定義view的兩種方式 第一種 純手寫 建立 instancetype initwithframe cgrect frame return self 在這裡設定控制項的frame 在改方法中一定要呼叫 super layoutsubviews 方法 主要是設定空間的frame值 加約束 void ...

iOS之自定義控制項

注意 如果使用 方式建立控制項,那麼建立時一定會呼叫initwithframe 方法 如果使用xib stotyboard方式建立控制項,那麼在建立時一定會呼叫initwithcoder 方法 在initwithcoder 裡面訪問屬性,會發現屬性為nil,因為此時自定義好控制項正在初始化,屬性還沒...

iOS開發 自定義列表

tableview幾乎是ios裡面最常用的布局了,這裡用純 的方式實現了自定義列表cell的介面 自定義cell cardlist created by yxhe on 16 5 17.end customcellview.m cardlist created by yxhe on 16 5 17....