国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

IOS開發學習筆記(三)

2019-11-07 23:24:39
字體:
來源:轉載
供稿:網友

ios項目模板全都默認使用.xib擴展名,但最初所有的界面構建器文件都使用.nib擴展名。

界面的實現三種方式:storyBorad、xib、純代碼; storyBorad:由一組或多組相對應的視圖和控制器構成;由場景(Sence)和過渡(segue)組成;缺點是多人開發時容易沖突,多使用xib; Assets.xcassets目前,創建項目自動生成的資源目錄,用來管理應用圖標及其他圖片;但Xode顯示的是點數尺寸,而不是像素尺寸。這里的點數是指屏幕上的特殊尺寸。如:2x表示一點就是一個2x2像素的小格子; 3種分辨率: 資源分辨率:也就是資源圖片的大小,單位是像素px 設計分辨率:邏輯上的屏幕大小,單位是 點pt; 屏幕分辨就:以像素為單位的屏幕大??;

用戶界面控件共有三種基本模式:活躍、靜態和被動

*控件的設置屬性: Hidden:是否可見 Clip Subviews:若視圖包含一個子視圖,且這個子視圖完全包含在父視圖中,則該選項用于決定子視力的繪制方式;若選中,那么只有位于父控件內部的子視圖部分會被繪制出來;若不先,子視圖會完全繪制出來,不管有沒有在父視圖內部;

可拉伸圖像;在.xcassets資源目錄中,可直接編輯圖像;類似android中的.9.png;可只拉伸邊緣部分(邊緣圖像),在Xcode5.0前只能使用代碼拉伸,之后可使用工具直接拉伸;在.xcassets面板中選擇右下角的Show Slicing按鈕即可進行拉伸編輯模式;

*調整圖像視圖的大小:一般最好在運行前就做好縮放工作,因為運行時進行圖像縮放需要消耗一些時間和處理器周期。 控制面板屬性: View->Interaction: User Interaction Enable:用于控制否能進行交互; View->Interaction: Multiple Touch:是否能夠接收多點觸控,支持復雜的手持操作 View->Interaction: Drawing: Opaque:默認選中,相當于告訴ios當前視圖的背后沒有需要繪制的內容,同時允許ios的繪圖方式通過一些優化來加速當前視圖的控制。 Hidden:是否隱藏 Clears Graphics Context:基本不選中,若選中,ios會在實際繪制對象前使用透明的黑色(#00000000)繪制被對象覆蓋的所在區域。 Clip Subviews:若你的視圖包含子視圖,并且這些子視圖沒有完全包含在其父控件的邊界內,那么這個復選框的值可以決定子視圖的繪制方式,若選中,則只有父控制內部的部分會繪制出來。 Autoresize Subviews:在當前視圖大小發生變化時自動調整子視圖的大??;默認選中。 TextField: Placeholder:占位符,可在輸入一些文本,文本框的內容為空時,placeholder的內容會以灰色文本顯示在文本框中。同android中的hint; Clear Button:設置何時出現清除按鈕; Clear When editing begins:指定觸摸此字段時是否清除已有的文本; Adjust to Fit:可指定顯示文本是否應隨文本框的尺寸變化而變化; Capitalisation Words:每個輸入的單詞首字母大寫; Auto-enable Return Key:若選中,在文本框為空時禁用return鍵; Secure:是否顯示已輸入的字符;

彈出框:UIActionSheet,從底部彈出 對話框:UIAlertView,屏幕中間彈出 [在ios8都已過時,使用UIAlertController代替]; 創建后調用下面方法顯示: [self PResentViewController:alert animated:YES completion:]

建立約束:類似android中的layout的對齊及依靠方式; Editor->Size to FitContent:將圖像在視圖的大小自動調整到與其中的圖像完全一一致。

+屏幕旋轉: iPhone屏幕規格:4、4s都個320*480個點,5、5s是568個點,iPad是768*1024個點,狀態欄是20個點。在早期 的iPhoe上點和像素是等價的,一個點就是一個像素。后隨分辨率的提高,一個點的對應的像素也不一樣,最新的iPhone是一個點代表4個點。 在Deployment Info中的Device Orientation中設置app可支持的屏幕方向。這是設置的是所有View支持的方向。 在storyboard上設定好控件后,一次選中所有控件在Editor->Resolve Auto Layout Issues->Add Missing Constraints即可對選中的控件添加約束,保證在屏幕旋轉等情況下保持位置固定。

# pragma mark 設置當前view可支持的屏幕方向-(UIInterfaceOrientationMask)supportedInterfaceOrientations{ return UIInterfaceOrientationMaskLandscapeLeft|UIInterfaceOrientationLandscapeRight;}#pragma mark 當屏幕旋轉時調用-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{ //此方法中用于在屏幕方向改變后重新繪制控件新位置}- (void)viewDidLoad { [super viewDidLoad]; //在視圖加載完成后,取出屏幕初始方向 UIapplication *app=[UIApplication sharedApplication]; UIInterfaceOrientation *orientation = app.statusBarOrientation; //根據初始方向處理屏幕控件}

++ 視圖切換 ++頁面跳轉 使用View Switcher 根控制器:是用戶看到的第一個控制器,負責管理當前向用戶顯示哪個視圖。通常是UINavigationController 或UITabBarController的一個實例,也可是UIViewController的自定義子類。 ** 另外還有: UIPageViewController: 呈現電子書導航風格的控制器; UISplitViewController:可以把屏幕分割成幾塊的視圖控制器,主要用于Ipad屏幕設計; UIPopoverController:浮動框; 在多視圖應用中,每個視圖控制器控制一個內容視圖,應用的用戶界面就是在這個內容視圖中構建的。這樣的組合的storyboard中被稱為場景(sence)。每個sence都是同個視圖控制器和(UIViewController)一個內容視圖(UIView)構成。 a.分別創建兩個UIViewController的子類; b.在storyboard中創建兩個View Controller并設置其Custom Class為對應的類; c.設置創建的view Controller的Identity->Story board Id的值(字符串),并勾選Use Storyboard ID; d.在根控制器中創建要切換的控制器的實例

instancetype 類型:可使那些非關聯返回類型的方法返回所在類的類型?。ú挥棉D換類型) 與id類型區別: 相同點:都可以作為方法的返回類型 不同點:instancetype可以返回和方法所在類相同類型的對象,id只能返回未知類型的對象;instancetype只能作為返回值,不能像id那樣作為參數;instancetype用來在編譯期確定實例的類型,而使用id的話,編譯器不檢查類型, 運行時檢查類型.(ARC下)

assign,strong,weak區別及使用場景: assign: 用于非指針變量;如基礎類型; weak:新版本的assign,弱引用 ,一般UI控件用weak strong:強引用,一般的變量使用;

在.h和.m文件中創建方法的區別: 在.h中的方法和成員默認是protect的,外部可通過對象訪問; 在.m中的方法和成員都是私有的,外部都無法訪問;

用直接訪問變量和用self.訪問變量的區別: _a = b;是直接給成員_a進行賦值; self.a = b;是調用的定義的setA的方法;封裝性更好,而且對應使用的copy,retain等屬性才能保證原來的set方法;(應該使用該種方式)

博客地址:IOS開發學習筆記(三)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安泽县| 兴隆县| 堆龙德庆县| 隆昌县| 元江| 绥阳县| 科技| 高雄县| 桂东县| 崇文区| 怀宁县| 吴堡县| 安国市| 柳河县| 合肥市| 吉林市| 大足县| 商水县| 吉首市| 邓州市| 长宁区| 无为县| 远安县| 莆田市| 吉隆县| 秀山| 泰和县| 云阳县| 内黄县| 承德市| 延寿县| 南靖县| 长治市| 辽中县| 沧州市| 正安县| 玛多县| 永康市| 陆川县| 罗平县| 峨边|