成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iOS SDK:創(chuàng)建一個動態(tài)的Action Sheet

移動開發(fā) iOS
本文為大家分享了一個iOS SDK,介紹了如何創(chuàng)建一個動態(tài)的Action Sheet,希望對大家有所幫助。

Step 1:創(chuàng)建新項目

打開Xcode,選擇“Create a new Xcode project”,選擇“Single View Application”,點擊 “next”。輸入項目名稱(我這么命名為“Fruits”),并確定Devices中選擇的是iPhone,然后勾選上 “Use Storyboards”和“Use Automatic Reference Counting”,并點擊“Next”,選擇存放項目的地 方,再點擊“create”。

Step 2: 設定支持的方向

我只想讓程序支持縱向模式,所以到 “Supported Interface Orientations”中,取消橫向模式的選中。

Step 3: 創(chuàng)建界面

打開工程的Storyboard文件,從 Object Library中拖一個label到View Controller,將這個lable放在 View Controller的頂端,并居中,且寬度設置為280像素。打開Attributes Inspector(屬性面板),將對其方式設置為 居中,***,刪除lable中的默認文本。

接著,從Object Library拖一個按鈕到View Controller中,將這個按鈕放在label下邊,雙擊按鈕的標題,并將標題改為“Fruits”。

Step 4:連接IBOutlet

打開ViewController.m,按照如下代碼代碼進行修改:

  1. #import "ViewController.h" 
  2. @interface ViewController () <UIActionSheetDelegate> 
  3. @property(nonatomic, weak)   IBOutlet UILabel *fruitLabel; 
  4. @property(nonatomic, strong) NSMutableArray *fruits; 
  5. - (IBAction)showFruits:(id)sender; 
  6. @end 

在上面的代碼中,為label創(chuàng)建了一個插槽(outlet),以及一個存儲fruit的可變數(shù)組,還創(chuàng)建一個action用來顯示 “action sheet”。我們還添加了UIActionSheetDelegate,所以當你從action sheet中選擇一個fruit的 時,我們就可以更新label。

注意,上面所有這些內容都是在類擴展中實現(xiàn)的——因為這些屬性和方法沒不需要暴露給別的類。

現(xiàn)在已經建立好了outlet和action,現(xiàn)在我們只需要將它們連接到相應的控件中就可以了。打開Storyboard,將 fruitsLabel outlet與lable進行連接,以及把showFruits:action和button進行連接。為選擇 Touch Up Inside作為按鈕的控件事件。

Step 5: 創(chuàng)建水果列表

打開ViewController.m,創(chuàng)建下邊這樣一個初始化方法:

  1. -(id) initWithCoder:(NSCoder *)aDecoder{ 
  2.     if (self = [super initWithCoder:aDecoder]) { 
  3.         self.fruits = [[NSMutableArray alloc] initWithObjects:@"Apple", @"Orange", @"Banana", @"Strawberry", @"Peach",nil]; 
  4.     } 
  5.     return self; 

上面的代碼中創(chuàng)建了一個水果數(shù)組,并在這個數(shù)組中存儲了一些水果。

Step 6: 顯示列表

在didReceiveMemoryWarning方法后面添加如下代碼:

  1. - (IBAction)showFruits:(id)sender 
  2.     UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Select a fruit" 
  3. delegate:self 
  4. cancelButtonTitle:nil 
  5. destructiveButtonTitle:nil 
  6. otherButtonTitles:nil]; 
  7.     for (NSString *fruit in self.fruits) { 
  8.         [actionSheet addButtonWithTitle:fruit]; 
  9.     } 
  10.     actionSheet.cancelButtonIndex = [actionSheet addButtonWithTitle:@"Cancel"]; 
  11.     [actionSheet showInView:self.view]; 

上面的代碼首先創(chuàng)建一個action sheet,在初始化方法中,我們傳遞了一個標題和一個delegate,但是我們沒有添加任何按鈕,甚至是一個取消按鈕。如果我們在這里添加一個取消按鈕,然后再添加其它按鈕,那么取消按鈕就會在列表的最上邊,而不是最下面。

接下來,使用一個for in循環(huán)語句來遍歷之前創(chuàng)建的水果數(shù)組,再這個循環(huán)語句中,我們將所有的水果添加為action sheet的按鈕。循環(huán)語句之 后,給action sheet添加了一個cancel按鈕——通過給cancelButtonIndex添加一個標題為“Cancel”的按鈕。這 樣,action sheet就知道取消按鈕應該位于列表的底部,***,我們以正常的方式將action sheet顯示出來。

Step 7:更新Fruits Label

在showFruits: action下方添加一個action sheetdelegate協(xié)議。

  1. - (void) actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex 
  2.     if (buttonIndex != actionSheet.cancelButtonIndex) { 
  3.         self.fruitLabel.text = [self.fruits objectAtIndex:buttonIndex]; 
  4.     } 

當點擊action sheet中的按鈕時,就會調用上的delegate方法,在方法中,首先判斷一下被按下的按鈕是取消按鈕還是fruit的按鈕——通 過對選中按鈕的索引值和取消按鈕的索引值進行比較來判斷的。如果選中的是fruit相關按鈕,那么就將label更新為選中的水果。

責任編輯:閆佳明 來源: cocoachina
相關推薦

2013-05-02 10:40:24

xcode

2023-07-06 08:11:35

EasyExcelsheet

2011-05-11 10:58:39

iOS

2021-07-14 15:06:50

SDK版本 jar

2024-05-07 09:02:47

2009-08-19 04:14:00

線性鏈表

2014-05-23 10:37:37

聊天程序PHP聊天程序

2018-11-22 14:09:45

iOS架構組件開發(fā)

2022-12-28 08:17:36

數(shù)據(jù)庫數(shù)據(jù)導出

2012-04-19 17:42:46

Titanium布局

2016-03-08 09:52:22

xcode插件開發(fā)

2022-11-07 08:42:50

iOS 16SwiftUI

2009-08-10 18:55:50

創(chuàng)建XSD架構文件

2020-11-20 10:50:01

Docker容器

2018-12-17 09:10:52

機器學習TensorFlow容器

2020-06-02 10:04:58

IT部門首席信息官CIO

2009-08-19 14:15:42

C# 復合控件

2023-05-10 08:05:41

GoWeb應用

2021-12-30 09:40:33

CentOS家庭實驗室Linux

2012-02-01 14:12:55

iOS本地緩存機制
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: jizz视频 | 欧美中文字幕 | 99这里只有精品 | 成人性视频免费网站 | 国产精品婷婷 | 成人做爰69片免费观看 | 日韩一区二区在线免费观看 | 91传媒在线观看 | 免费黄色片视频 | 在线精品国产 | 91看片免费版 | 大象一区 | 亚洲成人免费 | 亚洲日韩欧美一区二区在线 | 中文字幕成人免费视频 | 91精品国产欧美一区二区 | 免费看黄视频网站 | 奇米四色影视 | 午夜精品一区二区三区免费视频 | 欧美日韩黄色一级片 | 欧美色综合一区二区三区 | 一级a爱片性色毛片免费 | 国产精品一区二区免费 | 久久精品16 | 亚洲欧美成人影院 | 国产av毛片| 久久久久久国产免费视网址 | 精品日韩在线观看 | 99re在线视频| 精品国产乱码久久久久久88av | 国产一区 在线视频 | 国产精品视频在 | 91麻豆精品国产91久久久久久久久 | 欧美电影在线观看网站 | 一区二区三区免费看 | 夜夜草| 欧美国产日韩在线观看 | 中文字幕视频在线观看 | 国产欧美一区二区三区在线看 | 二区视频 | 久久免费视频观看 |