亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS中UIAlertView警告框組件的使用教程

2020-07-26 03:20:23
字體:
來源:轉載
供稿:網友

1. 最簡單的用法
初始化方法:

復制代碼 代碼如下:

- (instancetype)initWithTitle:(NSString *)title message:(NSString *)message delegate:(id /*<UIAlertViewDelegate>*/)delegate cancelButtonTitle:(NSString *)cancelButtonTitle otherButtonTitles:(NSString *)otherButtonTitles, ...;

這個方法通過設置一個標題,內容,代理和一些按鈕的標題創建警告框,代碼示例如下:
    UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"我的警告框" message:@"這是一個警告框" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"確定", nil];
    [alert show];
效果如下:

201652391914528.png (306×323)

注意:如果按鈕數超過兩個,將會創建成如下樣子:

201652391939587.png (296×395)

如果按鈕數量超出屏幕顯示范圍,則會創建類似tableView的效果。

2. 為UIAlertView添加多個按鈕

復制代碼 代碼如下:

UIAlertView*alert = [[UIAlertView alloc]initWithTitle:@"提示"

                                                  message:@"請選擇一個按鈕:"

                                                  delegate:nil  

                                                  cancelButtonTitle:@"取消"

                                                  otherButtonTitles:@"按鈕一", @"按鈕二", @"按鈕三",nil]; 

[alert show]; 

[alert release];

3. 如何判斷用戶點擊的按鈕
UIAlertView有一個委托(代理)UIAlertViewDelegate ,繼承該委托來實現點擊事件

 頭文件:

復制代碼 代碼如下:

@interface MyAlertViewViewController : UIViewController {

}

(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex;
-(IBAction) buttonPressed;

@end


源文件:
復制代碼 代碼如下:

-(IBAction) buttonPressed

{

UIAlertView*alert = [[UIAlertView alloc]initWithTitle:@"提示"

                                                 message:@"請選擇一個按鈕:"

                                                 delegate:self  

                                                 cancelButtonTitle:@"取消"

                                                 otherButtonTitles:@"按鈕一", @"按鈕二", @"按鈕三",nil]; 

[alert show]; 

[alert release];

}

(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{

NSString* msg = [[NSString alloc] initWithFormat:@"您按下的第%d個按鈕!",buttonIndex];

UIAlertView* alert = [[UIAlertView alloc]initWithTitle:@"提示"

                                                 message:msg

                                                 delegate:nil

                                                 cancelButtonTitle:@"確定"

                                                 otherButtonTitles:nil];

[alert show];

[alert release];

[msg release];

}


點擊“取消”,“按鈕一”,“按鈕二”,“按鈕三”的索引buttonIndex分別是0,1,2,3

4. 手動的取消對話框

復制代碼 代碼如下:

[alertdismissWithClickedButtonIndex:0 animated:YES];

5. 為UIAlertView添加子視圖
在為UIAlertView對象太添加子視圖的過程中,有點是需要注意的地方,如果刪除按鈕,也就是取消UIAlerView視圖中所有的按鈕的時候,可能會導致整個顯示結構失衡。按鈕占用的空間不會消失,我們也可以理解為這些按鈕沒有真正的刪除,僅僅是他不可見了而已。如果在UIAlertview對象中僅僅用來顯示文本,那么,可以在消息的開頭添加換行符(@"/n)有助于平衡按鈕底部和頂部的空間。

下面的代碼用來演示如何為UIAlertview對象添加子視圖的方法。

復制代碼 代碼如下:

UIAlertView*alert = [[UIAlertView alloc]initWithTitle:@"請等待"

                                                 message:nil

                                                 delegate:nil  

                                                 cancelButtonTitle:nil

                                                 otherButtonTitles:nil]; 

[alert show];

UIActivityIndicatorView*activeView = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];

activeView.center = CGPointMake(alert.bounds.size.width/2.0f, alert.bounds.size.height-40.0f); 

[activeView startAnimating]; 

[alert addSubview:activeView]; 

[activeView release]; 

[alert release]; 

6. 其他 
UIAlertView默認情況下所有的text是居中對齊的。 那如果需要將文本向左對齊或者添加其他控件比如輸入框時該怎么辦呢? 不用擔心, iPhone SDK還是很靈活的, 有很多delegate消息供調用程序使用。 所要做的就是在

復制代碼 代碼如下:

(void)willPresentAlertView:(UIAlertView *)alertView

中按照自己的需要修改或添加即可, 比如需要將消息文本左對齊,下面的代碼即可實現:
復制代碼 代碼如下:

-(void) willPresentAlertView:(UIAlertView *)alertView

{

      for( UIView * view in alertView.subviews )

      {

            if( [view isKindOfClass:[UILabel class]] )

            {

                  UILabel* label = (UILabel*) view;

                  label.textAlignment=UITextAlignmentLeft;

            }

      }

}


 這段代碼很簡單, 就是在消息框即將彈出時,遍歷所有消息框對象,將其文本對齊屬性修改為 UITextAlignmentLeft即可。

添加其他部件也如出一轍, 如下代碼添加兩個UITextField:

復制代碼 代碼如下:

-(void) willPresentAlertView:(UIAlertView *)alertView

{

      CGRect frame = alertView.frame;

      frame.origin.y -= 120;

      frame.size.height += 80;

      alertView.frame = frame;

      for( UIView * viewin alertView.subviews )

      {

            if( ![viewisKindOfClass:[UILabelclass]] )

            {

                  CGRect btnFrame = view.frame;

                  btnFrame.origin.y += 70;

                  view.frame = btnFrame;

            }

}

UITextField* accoutName = [[UITextFieldalloc] init];

UITextField* accoutPassword = [[UITextFieldalloc] init];

accoutName.frame = CGRectMake( 10, frame.origin.y + 40,frame.size.width - 20, 30 );

accoutPassword.frame = CGRectMake( 10, frame.origin.y + 80,frame.size.width -20, 30 );

accoutName.placeholder = @"請輸入賬號";

accoutPassword.placeholder = @"請輸入密碼";

accoutPassword.secureTextEntry = YES;

[alertView addSubview:accoutPassword];

[alertView addSubview:accoutName];

[accoutName release];

[accoutPassword release];

}


顯示將消息框固有的button和label移位, 不然添加的text field會將其遮蓋住。 然后添加需要的部件到相應的位置即可。

對于UIActionSheet其實也是一樣的, 在

復制代碼 代碼如下:

(void)willPresentActionSheet:(UIActionSheet *)actionSheet

中做同樣的處理一樣可以得到自己想要的界面。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久成人这里只有精品| 日韩综合中文字幕| 日本精品中文字幕| 伊人亚洲福利一区二区三区| 亚洲性生活视频在线观看| 一本一本久久a久久精品综合小说| 亚洲人成电影网| 国产精品视频一区二区高潮| 亚洲娇小xxxx欧美娇小| 疯狂做受xxxx高潮欧美日本| 色妞欧美日韩在线| 一区二区三区视频免费在线观看| 97香蕉超级碰碰久久免费的优势| 欧美风情在线观看| 欧美另类交人妖| 欧美丝袜美女中出在线| 久久精品国产一区二区三区| 91大神福利视频在线| 国产精品偷伦一区二区| 久久久国产精品亚洲一区| 一个人看的www久久| 亚洲欧洲国产伦综合| 国产黑人绿帽在线第一区| 久久精品精品电影网| 欧美裸体xxxx极品少妇软件| 91av在线看| 亚洲第一视频网站| 欧美激情亚洲精品| 上原亚衣av一区二区三区| 欧美国产日韩免费| 日韩成人在线播放| 久久综合五月天| 欧美成aaa人片在线观看蜜臀| 国产精品视频导航| 国产欧美最新羞羞视频在线观看| 欧美一区二区三区艳史| 久久免费观看视频| 97人人模人人爽人人喊中文字| 国产成人激情视频| 中文字幕一区二区精品| 日韩久久精品成人| 亚洲国产精品久久精品怡红院| 欧美中文字幕在线播放| 日本sm极度另类视频| 日韩免费在线视频| 日韩在线视频免费观看| 国产精品视频xxxx| 欧美成人精品xxx| 国模私拍视频一区| 97免费在线视频| 欧美xxxx做受欧美| 欧美中文在线观看国产| 亚洲成人xxx| 欧美精品videofree1080p| 欧美日韩国产中文精品字幕自在自线| 国产欧美一区二区三区久久| 中文字幕国产精品久久| 亚洲美女av黄| 日韩一级裸体免费视频| 国产成人一区二区三区小说| 91po在线观看91精品国产性色| 97精品国产97久久久久久春色| 97国产真实伦对白精彩视频8| 欧美亚洲国产成人精品| 日韩中文字幕欧美| 日韩欧美国产中文字幕| 国产精品久久精品| 2021国产精品视频| 91精品啪aⅴ在线观看国产| 中文在线不卡视频| 97久久久久久| 日本精品一区二区三区在线| 91高清视频免费观看| www.日韩不卡电影av| 色999日韩欧美国产| 欧美激情网站在线观看| 国产99久久精品一区二区永久免费| 91国偷自产一区二区三区的观看方式| 欧美激情第1页| 亚洲欧美制服第一页| 伊是香蕉大人久久| 欧美日韩ab片| 欧美性jizz18性欧美| 亚洲第一av网| 亚洲乱码av中文一区二区| 亚洲综合日韩中文字幕v在线| 国产精品高潮在线| 日韩中文字幕国产| 综合136福利视频在线| 精品国产网站地址| 中文字幕精品国产| 91在线观看免费网站| 成人免费在线网址| 国产人妖伪娘一区91| 色综合五月天导航| 午夜免费在线观看精品视频| 精品福利免费观看| 国产成人久久久| 久久国产精品偷| 欧美在线性视频| 国产精品中文在线| 亚洲欧美国产高清va在线播| 亚洲激情在线观看视频免费| 国产精品18久久久久久首页狼| 最近2019好看的中文字幕免费| 亚洲天堂av在线免费| 亚洲美女久久久| 欧美性少妇18aaaa视频| 欧美疯狂xxxx大交乱88av| 欧美极品少妇xxxxⅹ免费视频| 亚洲a成v人在线观看| 欧美一区二区三区艳史| 91系列在线观看| 亚洲成av人影院在线观看| 欧美影院久久久| 欧美成人在线影院| 精品小视频在线| 亚洲色图美腿丝袜| 国产成人综合亚洲| 91经典在线视频| 欧美成人免费全部| 中文字幕日韩有码| 欧美成人在线免费| 欧美激情视频网址| 欧美一级淫片aaaaaaa视频| 国产精品久久精品| 久久久久久有精品国产| 欧美在线视频免费播放| 日韩美女在线观看一区| 2019中文在线观看| 欧美精品日韩www.p站| 欧美日韩精品二区| 91久久久久久久久| 亚洲最大的av网站| 91手机视频在线观看| 国产mv免费观看入口亚洲| 国产成人在线一区| 91黑丝在线观看| 97在线观看免费| 亚洲国产精品国自产拍av秋霞| 国产精品盗摄久久久| 国产精品一区二区女厕厕| 亚洲无限av看| 日韩av最新在线| 精品久久久精品| 国产成人综合久久| 亚洲欧美激情一区| 国外成人免费在线播放| 亚洲一区二区久久| 亚洲日韩欧美视频一区| 久久久久久网站| 国产精品视频最多的网站| 欧美国产日韩一区二区在线观看| 国产一区二区精品丝袜| 曰本色欧美视频在线| 国产精品自拍视频| 97精品国产97久久久久久春色| 成人激情视频小说免费下载| 亚洲成人av资源网| 91成人免费观看网站| 欧美黑人性生活视频| 亚洲第一精品福利| 日韩一区二区在线视频| 全球成人中文在线|