在windows應用程式中,經常使用模態(model)對話方塊來和使用者進行簡單的互動,比如登入框。
在ios
應用程式中,有時我們也希望做同樣的事情。但ios的ui庫中,沒有模態對話方塊,最接近那個樣子的應該算是alertview。
但僅用alertview,我們只能做文字提示,而不能和使用者做互動。
本文將介紹如何基於alertview做定製,實現模態對話方塊的功能。以密碼修改框為例:
1. 首先,我們要繼承alertview類,在類的標頭檔案pwdmodifyview.h中,加入控制項的宣告
這裡我們把控制項都宣告為property,目的是讓外部的類可以訪問使用者輸入的資料。
#import
@inte***ce pwdmodifyview : uialertview
@property(nonatomic, retain) uitextfield* _oldpwd; // 舊密碼輸入框
@property(nonatomic, retain) uitextfield* _newpwd; // 新密碼輸入框
@property(nonatomic, retain) uitextfield* _cfmpwd; // 新密碼確認框
@end
2. 在pwdmodifyview.m檔案中,需要實現兩個函式
- (id)initwithtitle:(nsstring *)title message:(nsstring *)message delegate:(id)delegate cancelbuttontitle:(nsstring *)cancelbuttontitle otherbuttontitles:(nsstring *)otherbuttontitles, ...
return self;
}// override父類的layoutsubviews方法
- (void)layoutsubviews
}// 定義alertview的大小
cgrect bounds = self.frame;
bounds.size.height = 260;
self.frame = bounds;
}3. 當需要彈出該對話方塊時,只需建立並初始化乙個pwdmodifyview物件,然後呼叫物件的show()方法即可。
pwdmodifydlg* pwdmodifydlg = [[pwdmodifyview alloc]
initwithtitle:@"密碼修改"
message:nil
delegate:self
cancelbuttontitle:@"確定"
otherbuttontitles:@"取消", nil];
[pwdmodifydlg show];
最後,附上uitextfield的建立函式
- (uitextfield*)createtextfield:(nsstring*)placeholder withframe:(cgrect)frame
摘自 linear
IOS 自定義AlertView實現模態對話方塊
在windows應用程式中,經常使用模態 model 對話方塊來和使用者進行簡單的互動,比如登入框。在ios 應用程式中,有時我們也希望做同樣的事情。但ios的ui庫中,沒有模態對話方塊,最接近那個樣子的應該算是alertview。但僅用alertview,我們只能做文字提示,而不能和使用者做互動。...
ios中自定義alert view,並實現動畫組合
工作需要,要做乙個類似於alert的view,在上面可以自己隨便畫東西,在網上找了乙個開源的例子,讀了原始碼之後,感覺對ios的view和動畫有了更深的了解,現在與大家分享。下面是其中自定義alertview和動畫頁面的主要 有我的注釋,customizedalertviewdemo created...
如何寫自定義的AlertView
如何寫自定義的alertview 效果 說明考慮到後面的可定製性以及可維護性,本人用abstractalertview定義了alertview抽象的基類,實現通過子類來完成.注 這只是粗略的寫了乙個實現,並沒有考慮到 的合理性以及精確性.原始碼 abstractalertview.h alertvi...