最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2016年05月23日 09:22:34   作者:琿少  
需要注意的是在IOS8之后,UIAlertView和UIActionSheet這兩個控件被UIAlertController代替,但是這兩個控件依然可以使,下面我們就簡單了解一下iOS中UIAlertView警告框組件的使用教程

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

復(fù)制代碼 代碼如下:

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

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

201652391914528.png (306×323)

注意:如果按鈕數(shù)超過兩個,將會創(chuàng)建成如下樣子:

201652391939587.png (296×395)

如果按鈕數(shù)量超出屏幕顯示范圍,則會創(chuàng)建類似tableView的效果。

2. 為UIAlertView添加多個按鈕

復(fù)制代碼 代碼如下:

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

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

                                                  delegate:nil  

                                                  cancelButtonTitle:@"取消"

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

[alert show]; 

[alert release];

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

 頭文件:

復(fù)制代碼 代碼如下:

@interface MyAlertViewViewController : UIViewController {

}

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

@end


源文件:
復(fù)制代碼 代碼如下:

-(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. 手動的取消對話框

復(fù)制代碼 代碼如下:

[alertdismissWithClickedButtonIndex:0 animated:YES];

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

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

復(fù)制代碼 代碼如下:

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默認(rèn)情況下所有的text是居中對齊的。 那如果需要將文本向左對齊或者添加其他控件比如輸入框時該怎么辦呢? 不用擔(dān)心, iPhone SDK還是很靈活的, 有很多delegate消息供調(diào)用程序使用。 所要做的就是在

復(fù)制代碼 代碼如下:

(void)willPresentAlertView:(UIAlertView *)alertView

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

-(void) willPresentAlertView:(UIAlertView *)alertView

{

      for( UIView * view in alertView.subviews )

      {

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

            {

                  UILabel* label = (UILabel*) view;

                  label.textAlignment=UITextAlignmentLeft;

            }

      }

}


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

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

復(fù)制代碼 代碼如下:

-(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會將其遮蓋住。 然后添加需要的部件到相應(yīng)的位置即可。

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

復(fù)制代碼 代碼如下:

(void)willPresentActionSheet:(UIActionSheet *)actionSheet

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

相關(guān)文章

  • 移動web開發(fā)技能之touch事件詳解

    移動web開發(fā)技能之touch事件詳解

    這篇文章主要為大家介紹了移動web開發(fā)技能之touch事件詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • iOS中利用CAGradientLayer繪制漸變色的方法實例

    iOS中利用CAGradientLayer繪制漸變色的方法實例

    有時候iOS開發(fā)中需要使用到漸變色,來給圖片或者view蓋上一層,使其顯示效果更好,所以這篇文章主要給大家介紹了關(guān)于iOS中利用CAGradientLayer繪制漸變色的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-11-11
  • iOS開發(fā)Masonry與Frame布局差異示例詳解

    iOS開發(fā)Masonry與Frame布局差異示例詳解

    這篇文章主要為大家介紹了iOS開發(fā)Masonry與Frame布局差異示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • iOS開發(fā)之視圖切換

    iOS開發(fā)之視圖切換

    在iOS開發(fā)中視圖的切換是很頻繁的,獨立的視圖應(yīng)用在實際開發(fā)過程中并不常見,除非你的應(yīng)用足夠簡單。在iOS開發(fā)中常用的視圖切換有三種,今天我們將一一介紹,希望大家能夠喜歡。
    2016-04-04
  • iOS15適配小結(jié)

    iOS15適配小結(jié)

    本文主要介紹了iOS15適配小結(jié),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 詳解iOS獲取通訊錄的4種方式

    詳解iOS獲取通訊錄的4種方式

    這篇文章主要為大家詳細(xì)介紹了iOS獲取通訊錄的4種方式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 干貨分享!iOS10 SiriKit QQ適配詳解

    干貨分享!iOS10 SiriKit QQ適配詳解

    干貨分享!主要為大家詳細(xì)介紹了!iOS10 SiriKit QQ適配,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • iOS 邊下邊播的實現(xiàn)代碼

    iOS 邊下邊播的實現(xiàn)代碼

    在之前項目中使用的是AVPlayer直接播放URL地址,但是不知道是相機的wifi不夠穩(wěn)定還是代碼的問題,app總是出現(xiàn)緩沖卡頓。后來考慮改成邊下邊播模式,下面小編給大家?guī)砹薸OS 邊下邊播的實現(xiàn)代碼,需要的朋友參考下吧
    2017-11-11
  • ios啟動頁強制豎屏(進入App后允許橫屏與豎屏)

    ios啟動頁強制豎屏(進入App后允許橫屏與豎屏)

    最近工作遇到這樣一個需要,當(dāng)進入啟動頁需要強制豎屏,而進入APP后就允許橫屏與豎屏,通過查找相關(guān)的資料找到了解決的方法,所以將實現(xiàn)的方法整理后分享出來,需要的朋友們可以參考借鑒,下面來一起看看吧。
    2017-03-03
  • xcode8提交ipa失敗無法構(gòu)建版本問題的解決方案

    xcode8提交ipa失敗無法構(gòu)建版本問題的解決方案

    xcode升級到xcode8后發(fā)現(xiàn)構(gòu)建不了新的版本。怎么解決呢?下面小編給大家?guī)砹藊code8提交ipa失敗無法構(gòu)建版本問題的解決方案,非常不錯,一起看看吧
    2016-10-10

最新評論

苍南县| 巧家县| 兴海县| 辰溪县| 龙门县| 罗甸县| 铁岭县| 南安市| 绥棱县| 睢宁县| 娄烦县| 宁城县| 荣昌县| 响水县| 汝城县| 伊川县| 鹤壁市| 杭锦后旗| 新乡县| 龙山县| 滁州市| 天峨县| 新兴县| 河池市| 亳州市| 盐边县| 藁城市| 恭城| 龙岩市| 包头市| 揭东县| 密云县| 清远市| 沐川县| 涟源市| 宾川县| 叶城县| 故城县| 呼伦贝尔市| 宣城市| 成武县|