說明:示範如何利用AlertView來製作系統登入的介面
示範:
 程式碼:
CustomAlertViewViewController.h
-
#import <UIKit/UIKit.h>
-
-
//記得加入UIAlertViewDelete
-
@interface CustomAlertViewViewController :UIViewController<UIAlertViewDelegate>
{
-
UIAlertView *myAlertView;
-
}
-
-
@property (nonatomic,retain) UIAlertView *myAlertView;
-
-
-(IBAction) buttonPressed:(id)sender;
-
-
@end
複製代碼
CustomAlertViewViewController.m
-
-(IBAction) buttonPressed:(id)sender{
-
myAlertView=[[UIAlertView alloc] initWithTitle:@"系統登入" message:nil delegate:self cancelButtonTitle:@"取消"
otherButtonTitles:@"登入",nil];
-
[myAlertView show];
-
[myAlertView release];
-
-
}
-
-
- (void)willPresentAlertView:(UIAlertView *)alertView
-
{
-
CGRect frame = alertView.frame;
-
if( alertView==myAlertView )
-
{
-
frame.origin.y -= 120;
-
frame.size.height += 80;
-
alertView.frame = frame;
-
for( UIView *viewin alertView.subviews )
-
{
-
//列舉alertView中所有的物件
-
if( ![view isKindOfClass:[UILabelclass]] )
-
{
-
//若不UILable則另行處理
-
if (view.tag==1)
-
{
-
//處理第一個按鈕,也就是 CancelButton
-
CGRect btnFrame1 =CGRectMake(30, frame.size.height-65, 105, 40);
-
view.frame = btnFrame1;
-
-
} else if(view.tag==2){
-
//處理第二個按鈕,也就是otherButton
-
CGRect btnFrame2 =CGRectMake(142, frame.size.height-65, 105, 40);
-
view.frame = btnFrame2;
-
}
-
}
-
}
-
-
//加入自訂的label及UITextFiled
-
UILabel *lblaccountName=[[UILabel alloc] initWithFrame:CGRectMake( 30, 50,60, 30 )];;
-
[email protected]"帳號:";
-
lblaccountName.backgroundColor=[UIColor clearColor];
-
lblaccountName.textColor=[UIColor whiteColor];
-
-
UITextField *accoutName = [[UITextField alloc] initWithFrame: CGRectMake( 85, 50,160, 30 )];
-
accoutName.placeholder = @"帳號名稱";
-
accoutName.borderStyle=UITextBorderStyleRoundedRect;
-
-
-
UILabel *lblaccountPassword=[[UILabel alloc] initWithFrame:CGRectMake( 30, 85,60, 30 )];;
-
[email protected]"密碼:";
-
lblaccountPassword.backgroundColor=[UIColor clearColor];
-
lblaccountPassword.textColor=[UIColor whiteColor];
-
-
UITextField *accoutPassword = [[UITextField alloc] initWithFrame: CGRectMake( 85, 85,160, 30 )];
-
accoutPassword.placeholder = @"登入密碼";
-
accoutPassword.borderStyle=UITextBorderStyleRoundedRect;
-
//輸入的資料以星號顯示(密碼資料)
-
accoutPassword.secureTextEntry=YES;
-
-
[alertView addSubview:lblaccountName];
-
[alertView addSubview:accoutName];
-
[alertView addSubview:lblaccountPassword];
-
[alertView addSubview:accoutPassword];
-
}
-
}
-
-
- (void)dealloc {
-
[myAlertView release];
-
[super dealloc];
-
}
複製代碼
|