1. 程式人生 > >警告框和操作表(ActionSheet)

警告框和操作表(ActionSheet)

iOS 開發中,應用程式如何實現與使用者的交流呢?警告框和操作表就是為此設計的。

警告框時UIAlertView建立的,用於為使用者以警告或提示,最多有兩個按鈕,超過兩個就應該考慮使用操作表。由於在iOS中,警告框是”模態“(表示的是不關閉它就不能做別的事情),因此不應該隨意使用,一般情況下,警告框的使用場景有如下幾個:

-應用不能繼續進行。例如,無法獲得網路資料或者功能不能完成的時候,給使用者一個警告,這種警告框只需一個按鈕。

-詢問另外的解決方案。好多應用在不能繼續執行時,會給出另外的解決方案,讓使用者去選擇。例如,WiFi網路無法連線時,是否使用3G網路。

-詢問對操作的授權。當應用訪問使用者的一些隱私資訊時,需要使用者授權,例如使用者當前的位置;通訊錄或者日程表等。

AlertView的用法注意:

方法中例項化UIAlertView的物件時,最常用的建構函式是initWithTitle:message:delegate:cancelButtonTitle:otherButtonTitles:,其中delegate引數場設定為self,既警告框的委託物件為當前的檢視控制器(ViewController);cancelButtonTitle引數用於設定“取消”按鈕的標題,它是警告框的左按鈕;otherButtonTitles引數是其他按鈕,它是一個字串陣列,該字串陣列以nil結尾。

從使用者體驗上講,警告框的按鈕不能多於兩個。

當用戶警告框只有一個按鈕時,只是為了關閉警告框,這時不需要指定委託引數。但是有兩個按鈕的情況下,為了響應點選警告框的需要,常需要設定委託。

ActionSheet的用法注意:

如果想給使用者提供多於兩個的選擇,

如上圖所示,就應該使用操作表。

操作表是UIActionSheet建立的,在iPhone下執行會從螢幕下方滑出來,其佈局是最下面是一個“取消”按鈕“,它離使用者的大拇指最近,最容易點到。如果選中有一個破壞性的操作,將會放在最上面,是大拇指最不容易碰到的位置,並且其顏色是紅色的。

注意在iPad中,操作表的佈局與iPhone有所不同,在iPad中,操作表不是從底部滑出來的,而是隨機出現在觸發它的按鈕周圍。此外,它還沒有”取消“按鈕,即便是在程式中定義了”取消“按鈕,也不會顯示它。

在例項化UIActionSheet物件時,最常用的建構函式是initWithTitle:delegate:cancelButtonTitle:destructiveButtonTitle:otherButtonTitles:。

UIActionSheet的actionSheetStyle屬性德用於設定操作表的樣式:

UIActionSheetStyleAutomatic。自動樣式。

UIActionSheetStyleDefault。預設樣式。

UIActionSheetStyleBlackTranslucent。半透明樣式。

UIActionSheetStyleBlackOpaque。透明樣式。

本次例項:

//

//  ViewController.h

//  1006AlertViewAndActionSheet(操作表)

//

//  Created by weibiao on 15-10-6.

//  Copyright (c) 2015 weibiao. All rights reserved.

//

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

- (IBAction)testAlertView:(id)sender;

- (IBAction)testActionSheet:(id)sender;

@end

//

//  ViewController.m

//  1006AlertViewAndActionSheet(操作表)

//

//  Created by weibiao on 15-10-6.

//  Copyright (c) 2015 weibiao. All rights reserved.

//

#import "ViewController.h"

@interface ViewController ()<UIAlertViewDelegate,UIActionSheetDelegate>

@end

@implementation ViewController

- (void)viewDidLoad {

    [superviewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

}

- (void)didReceiveMemoryWarning {

    [superdidReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

- (IBAction)testAlertView:(id)sender {

UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:@"Alert"message:@"Alert text goes here"delegate:selfcancelButtonTitle:@"NO"otherButtonTitles:@"YES",nil];

    [alert show];

NSLog(@"test alert");

}

- (IBAction)testActionSheet:(id)sender {

UIActionSheet *actionSheet = [[UIActionSheetalloc] initWithTitle:@"ActionSheet"delegate:selfcancelButtonTitle:@"取消"destructiveButtonTitle:@"毀壞性按鈕"otherButtonTitles:@"FaceBook",@"新浪微博", nil];

    actionSheet.actionSheetStyle = UIActionSheetStyleAutomatic;

    [actionSheet showInView:self.view];

}

@end


相關推薦

警告操作ActionSheet

iOS 開發中,應用程式如何實現與使用者的交流呢?警告框和操作表就是為此設計的。 警告框時UIAlertView建立的,用於為使用者以警告或提示,最多有兩個按鈕,超過兩個就應該考慮使用操作表。由於在iOS中,警告框是”模態“(表示的是不關閉它就不能做別的事情),因此不應該隨

swift學習筆記之警告操作

swift2.0中使用警告框和操作表的函式相對於之前的用法有所改變,新版本中取消了UIAlertView,使用的是UIAlertController @IBAction func testaler

iOS UI入門——使用Objective-CSwift實現警告檢視操作列表UIAlertView,UIActionSheet,UIAlertController

警告彈框和操作列表在開發中常用到,iOS9之後,UIAlertView和UIActionSheet都會報黃色的警告,但是還是依然可以使用的。在這裡主要介紹一在這三個控制元件在Objective-C和Swift下的使用程式碼。 Objective-C程式碼: #import "Vi

純css3實現美化複選手風琴效果詳細

關鍵技術點和原理: 原理就是把 checkbox或 radio 給隱藏掉   ,然後給選框 繫結一個label標籤。 然後用label標籤作為容器,在裡面放一個:before或一個after 用before模擬選框的框,用after來模擬選框的填充 通過 .magic-ch

第五章 陣列廣義3三元組矩陣轉換

#include<stdio.h> #include<stdlib.h> //巨集定義 #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #define MAXS

給出n個學生的考試成績,每條記錄由學號、姓名分數名次組成,設計演算法完成下列操作1設計一個顯示對學生資訊操作的選單函式如下所示: *************************

給出n個學生的考試成績表,每條記錄由學號、姓名和分數和名次組成,設計演算法完成下列操作: (1)設計一個顯示對學生資訊操作的選單函式如下所示: *************************        1、錄

Oracle 11g R2 DBA 操作指南17 管理維護

1.Oracle基本的資料儲存機制——表 1.1 資料的儲存型別 Oracle定義了3種資料型別,分別是標量資料型別、集合資料型別和關係資料型別。 (1)標量資料型別。 VARCHAR2(size)和NVARCHAR2(size):變長字元型資料 CHAR

Linux常用命令系列——文件目錄操作命令ls

4.3 data 字段 符號鏈接 功能 數值 sdp 用戶 不同 文章目錄: 1.語法 2.選項 3.參數 4.實例 5.ls -F命令的擴展知識 6.ls 命令輸出內容的屬性 ls命令 ls(可以理解為list的縮寫)

《Linux學習並不難》Linux常用操作命令6:uname命令顯示計算機系統相關信息

Linux8.6 《Linux學習並不難》Linux常用操作命令(6):uname命令顯示計算機和系統相關信息 使用uname命令可以顯示計算機以及操作系統的相關信息,比如計算機硬件架構、內核發行號、操作系統名稱、計算機主機名等。 命令語法: uname [選項] 命令中各選項的

Linux常用操作命令7:date命令顯示或設置系統日期時間

Linux 日期 date 8.7 《Linux學習並不難》Linux常用操作命令(7):date命令顯示或設置系統日期和時間 使用date命令可以顯示和設置計算機系統的日期和時間。只有超級用戶才有權限使用date命令設置 日期和時間,而一般用戶只能使用date命令顯示日期和時間。

Java 鏈LinkNode的簡單操作:初始化,遍歷,插入,刪除等

代碼 初始化 結構體 class 如果 traverse linknode eth com 由於java中沒有結構體,所以用一個類來定義鏈表,代碼如下 主要包括一個data,還有一個指向後面一個節點的next 重寫了toString函數,返回你想要的數據 定義鏈表的類: p

、棧隊列1

移除 clas for循環 set 基本 棧和隊列 返回 異常 -m 目錄 1、抽象數據類型 2、表ADT 2.1、表的簡單數組實現 2.2、簡單鏈表 3、Java Collections API中的表 3.1、Collection接口 3.2、Iterator接口 3

朱有鵬C語言高階---4.9.10--雙鏈--頭插入尾插入10

朱有鵬C語言高階---4.9.10--雙鏈表--頭插入和尾插入(10)   尾插入:   頭插入:   注意下面的程式碼中,insert_head()函式裡面語句的順序,第一語句和第二語句的順序可以互相調換,但是第一語句和第二語句要在

C語言指標——對普通變數的指標操作對陣列常量的指標操作

       我們知道,每一個變數都有一個記憶體位置,每一個記憶體位置都定義了可使用連字號(&)運算子訪問的地址,它表示了在記憶體中的一個地址。        我們喜歡在程式中使用指標代替陣列,因為變數指標可

Java程式設計師從笨鳥到菜鳥之一百零三java操作officepdf檔案java讀取word,excelpd

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

git操作總結2:回退前進到某一個版本

1.檢視日誌: git log 簡化命令 git log --pretty=oneline 2.回退到上一個版本  git reset HEAD^     註釋:         用HEAD表示當前版本,上一個版

git操作總結1:常用操作流程之SSH、上傳、下載改名字

一、配置SSH免金鑰登陸 1.生成金鑰 直接回車3-5次 ssh-keygen -t rsa -C "這裡換上你的郵箱" 2.在指定的儲存路徑下會生成2個名為id_rsa和id_rsa.pub的檔案 3.將id_rsa.pub檔案,把內容拷貝到Git的SSH金鑰配置上 4.g

Hive的分桶抽樣查詢附帶案例,分桶的區別

目錄 總結: 分桶表: 分桶和分割槽的區別: 抽樣查詢: 總結: 總結: ①分桶為抽樣查詢而生,分桶表的建立使用【clustered by (分桶欄位)into 桶的個數 buckets】 ,往分桶表中匯入資料的時候,需要藉助第三張表select tabl

連結串列順序參考stl原始碼,使用c語言實現

順序表 優點:可以隨機訪問,cpu快取記憶體利用率高,不涉及(較少)進行插入和刪除操作,應該使用順序表。 順序表,不論是動態開闢,還是固定大小,一般放置在棧上,不用程式設計師手動開闢空間 連結串列:主要運用2種,A單向不帶頭結點的非迴圈連結串列      B雙向帶頭

單鏈的基本操作 增刪查以及 頭插法尾插法建初學

需要注意的:1.InitList(List &L)&是識別符號的作用 L和實參同一個引用 2.在每個方法中不能對頭結點操作 先把頭結點賦值一份 對副本引用操作 3.操作連結串列中間需要從頭結點開始一個個查詢,找到目標再插入 刪除 可以先寫查詢