日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

storyboard搭建项目_swift项目第五天:swift中storyBoard Reference搭建主界面

發布時間:2024/7/23 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 storyboard搭建项目_swift项目第五天:swift中storyBoard Reference搭建主界面 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

import UIKit/*總結:1:lazy用于懶加載,只能用var來對變量進行懶加載,有兩種方式:1:lazy var first = NSArray(objects: "1","2") 2:閉包形式:

lazy var second:String = {

return "second"

}()

例子:

lazy var imageArr = ["tabbar_home_highlighted","tabbar_message_center_highlighted","tabbar_discover_highlighted","tabbar_profile_highlighted"]

lazy var imageArr = {

return ["tabbar_home_highlighted","tabbar_message_center_highlighted","tabbar_discover_highlighted","tabbar_profile_highlighted"]

}();

2:1:設置tabbaritem的代碼都必須放在viewWillAppear里,若是在viewDidLoad里,則設置好的item又會在viewWillAppear方法里被系統調整回來 2:for循環遍歷,1:要是想獲得下標值就用區間遍歷 for i in 0..

3:要想類中定義的屬性不希望外界來訪問,就定義為private,或是fileprivate,private修飾的屬性方法,只能在當前類中訪問,在同一個文件中定義不同的類就不能在訪問另一個類中private修飾的方法或是屬性,但是屬性或是方法用fileprivate可以在當前文件任何類中進行訪問*/

classRHTabBarViewController: UITabBarController {//lazy var imageArr = ["tabbar_home_highlighted","tabbar_message_center_highlighted","tabbar_discover_highlighted","tabbar_profile_highlighted"]

///1:懶加載圖片數組

fileprivate lazy var imageArr ={return ["tabbar_home_highlighted","tabbar_message_center_highlighted","","tabbar_discover_highlighted","tabbar_profile_highlighted"]

}();///2:懶加載中間按鈕

fileprivate lazy var centerButton =UIButton()overridefunc viewDidLoad() {

super.viewDidLoad()//MARK:-2:添加中間按鈕

setupCenterButton()

}overridefunc viewWillAppear(_ animated: Bool) {

super.viewWillAppear(animated)//MARK:-1:設置tabbarItem的高亮圖片

setupTabbarItems()

}

}/**

總結:1:extension表示擴展,在定義的類中:RHTabBarViewController,設置該類的擴展,extension RHTabBarViewController {},若是該類有遵守協議關系的時候,繼承的協議就在RHTabBarViewController后面加:后面寫遵守的協議 2:一般extension擴展用于在某個類中封裝方法,在viewDidLoad方法中抽方法封裝調用,將封裝的方法寫在extension的擴展類中,在viewDidLoad直接調用

2:一般在聲明的類class中定義屬性:1:private,或是filePrivate來修飾,并且一般采用懶加載(1:直接初始化 2:閉包懶加載,{return:一個值}()),若不是懶加載,定義屬性變量的時候,必須定義初始化有值,要不定義成可選類型,在后面進行賦值,否則會被報錯。 2:在viewDidload中抽方法封裝調用,將封裝的方法寫在extension的擴展類中,在定義方法的時候,也是private,fileprivate來選擇修飾,定義有返回值或是無返回值的函數。2:定義的函數中涉及到外部參數與內部參數:在swift中第一個參數默認為內部參數,_+空格+參數名組成,默認從第二個參數開始,既是外部參數又是內部參數,若是想讓某個參數成為內部參數,就直接在函數中用_+空格+參數名修飾就可以 3:函數的默認參數,在封裝的函數中,也可以給參數設定默認參數,則此時,外部調用就不會顯示默認參數,而在參數內部自己可以拿到默認參數的值:如定義的全局打印:fileName:String = #file

func DLog (message: T,fileName:String = #file,funcName:String = #function,lineNum:Int = #line) {

#if DEBUG

let file = (fileName as NSString).lastPathComponent;

print("\(file):\(funcName):\(lineNum):\("打印內容"):\(message)")

#endif

}

3:設置tabbar上的高亮圖片:1:tabBar.items為一個可選類型的數組,但是能保證其一定有值,所以可以進行強制解包,若是可選類型的變量能確定一定有值的話就對其進行強制解包 2:創建UIImage的對象:item.selectedImage = UIImage(named: imageArr[i])

4:添加中間的加號按鈕:1:懶加載完控件后,首先在方法中將控件添加到父控件中,在同一個類中屬于該類的方法可以不去調用self,tabBar.addSubview(centerButton) 2:設置按鈕的背景圖片centerButton.setBackgroundImage, centerButton.setImage,第二個參數為一個枚舉值,枚舉值調用就用點語法調用枚舉類型,.normal,.highlighted 3:設置按鈕的frame:centerButton.sizeToFit()

讓按鈕的大小等于按鈕內容的大小。設置center的時候,設置的是tabbar的centerx,中心點y值為tabba高度的一半*/extension RHTabBarViewController {///1:添加中間的加號按鈕

fileprivate func setupCenterButton() {//1:添加按鈕

tabBar.addSubview(centerButton)//2:設置圖片

centerButton.setBackgroundImage(UIImage(named: "tabbar_compose_button"), for: .normal)

centerButton.setBackgroundImage(UIImage(named:"tabbar_compose_button_highlighted"), for: .highlighted)

centerButton.setImage(UIImage(named:"tabbar_compose_icon_add"), for: .normal)

centerButton.setImage(UIImage(named:"tabbar_compose_icon_add_highlighted"), for: .highlighted)//3:設置frame

centerButton.sizeToFit()

centerButton.center= CGPoint(x: tabBar.center.x, y: tabBar.bounds.size.height * 0.5)

}///2:設置的是tabbar上的高亮圖片

fileprivate func setupTabbarItems() {for i in 0..

let item= tabBar.items![i]if i == 2{

item.isEnabled= false

continue}

item.selectedImage=UIImage(named: imageArr[i])

}

}

}

總結

以上是生活随笔為你收集整理的storyboard搭建项目_swift项目第五天:swift中storyBoard Reference搭建主界面的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。