第三方庫的一些知識與應用

一 ?設置網(wǎng)絡請求活動指示器(就是每當連網(wǎng)請求數(shù)據(jù)的時候彈出來的那個小菊花圖標)

聲明hud的屬性

```

var hud:MBProgressHUD!

```

1.設置相應小菊花文字 顏色 背景顏色 等的屬性

2.

```

//網(wǎng)絡活動指示器 在實際使用的時候 在所有控件之后進行創(chuàng)建 并且添加到self.view上 否則會被覆蓋

self.hud = MBProgressHUD(view: self.view)```

3.開始請求網(wǎng)絡數(shù)據(jù)

```

func dataRequestWithPost(){

//

//在開始請求數(shù)據(jù)的時候顯示網(wǎng)絡活動指示器

self.hud.show(true)

let manager = AFHTTPSessionManager()

manager.responseSerializer.acceptableContentTypes = NSSet(object: "text/html") as! Set

//設置請求頭

//apls

// ? ? ? ?manager.requestSerializer.setValue(<#T##value: String!##String!#>, forHTTPHeaderField: <#T##String!#>)

manager.POST("http://d.yixincao.com/interface/getdata.php?act=list&type=nuanwen&page=1", parameters: nil, success: { (dataTask, responseObject) -> Void in

print("請求成功:\\(responseObject)")

//在數(shù)據(jù)請求完成之后隱藏活動指示器

self.hud.hide(true)

}) { (dataTask, error) -> Void in

print("請求失斠镩佟:\\(error)")

//蘋果審核規(guī)定 不管你的網(wǎng)絡請求時成功還是失敗 網(wǎng)絡活動指示器不能沒完沒了的轉(zhuǎn)

self.hud.hide(true)

}

}

```

二1oc中插入swift 2swift中插入oc

1.建立一個Swift文件 然后彈出一個讓你是否建立橋文件的窗口 點右邊的確認就行 然后再build setting中 查詢model 然后再packaging中改名字 然后照著Swift Compiler 中的Header Name的打一遍到m文件中

2.建立一個橋文件xxx_Briding_Header.h 在其中添加你需要倒入的oc的文件的名字 然后再build setting 中查詢bri 然后再briding Header中添加地址$(SRCROOT)/oc文件名

三 網(wǎng)絡請求(相當于前面的getnetdata)

1.網(wǎng)絡請求有兩種 get post

2.這里講的是引入第三方庫來解決這個問題 ?這里注意的是parameters那里是否是nil 就看get那里是否有參數(shù) 如果沒有就nil 有就用dic這種傳參

```

func dataRequestWithGet2() {

//創(chuàng)建請求管理類

let manager = AFHTTPSessionManager()

//攜帶參數(shù)沪停,以字典的方式攜帶參數(shù)痴柔,更符合實際項目中傳參的方式,根據(jù)接口文檔中的要求來做

//參數(shù)中currency和page是后臺要求的字段咐吼,對應的value值就是需要傳入的參數(shù)

let dic = ["currency": "rmb","page": "1"]

//get請求一般用于獲取數(shù)據(jù)吹缔,post請求一般用于更改或者添加數(shù)據(jù)

manager.GET("http://iappfree.candou.com:8080/free/applications/limited", parameters: dic, success: { (dataTask, responseObject) in

print("請求成功:\\(responseObject)")

}) { (dataTask, error) in

print("請求失敗:\\(error)")

}

}

```

以上如果出現(xiàn)錯誤 就用這個試試

```

//"Request failed: unacceptable content-type: text/html"

//content-type在默認情況下是application/json格式的锯茄,如果是其他任何格式的話厢塘,都需要手動進行設置,表示數(shù)據(jù)響應的格式

manager.responseSerializer.acceptableContentTypes = NSSet(object: "text/html") as! Set

```

這里是手勢滑動時滑條跟著移動

```

func scrollViewDidEndDecelerating(scrollView: UIScrollView) {

let index = scrollView.contentOffset.x / screenW

//獲取對應的按鈕

let btn = self.buttonArray[Int(index)] as! UIButton

for btn in self.buttonArray {

(btn as! UIButton).selected = false

}

//設置選中

btn.selected = true

UIView.animateWithDuration(0.3) {

self.lineView.frame = CGRectMake(index * self.screenW / 3, 58, self.screenW / 3, 2)

}

}

```

這里是點擊按鈕滑條跟著移動

```

func headerButtonClick(button:UIButton) {

//將已經(jīng)選中的按鈕置為不選中,保證每次只選中一個按鈕

for btn in self.buttonArray {

(btn as! UIButton).selected = false

}

//設置選中

button.selected = true

//指示條跟著移動

UIView.animateWithDuration(0.3) {

self.lineView.frame = CGRectMake(CGFloat(button.tag - 10) * self.screenW / 3, 58, self.screenW / 3, 2)

}

//關聯(lián)scrollView

//self.scrollView.contentOffset = CGPointMake(CGFloat(button.tag - 10) * screenW, 0)

//帶有動畫

self.scrollView.setContentOffset(CGPointMake(CGFloat(button.tag - 10) * screenW, 0), animated: true)

}

```


創(chuàng)建UI 其中設計到button和底下的滑動條lineView

1.button就是button大小 顏色 點鐘、中和沒點中時有什么差別 最后把定制好的button循環(huán)模型加入一個數(shù)組中 用這個代碼 //將創(chuàng)建的按鈕循環(huán)添加到數(shù)組中

self.buttonArray.addObject(headerButton)

2.指示條的創(chuàng)建 顏色 位置大小 最后加入到self

3.最后是視圖控制器加入到加入到scrollview中

```

func createUI() {

//頭部按鈕

let titleArray = ["推薦","娛樂","新聞"]

for i in 0..

let headerButton = UIButton(type: .Custom)

//設置frame

headerButton.frame = CGRectMake(CGFloat(i) * screenW / CGFloat(titleArray.count), 0, screenW / CGFloat(titleArray.count), 60)

//設置標題

headerButton.setTitle(titleArray[i], forState: .Normal)

//設置未選中的標題顏色

headerButton.setTitleColor(UIColor.lightGrayColor(), forState: .Normal)

//選中的標題顏色

headerButton.setTitleColor(UIColor.redColor(), forState: .Selected)

//設置tag

headerButton.tag = 10 + i

//添加響應事件

headerButton.addTarget(self, action:"headerButtonClick:", forControlEvents: .TouchUpInside)

self.view.addSubview(headerButton)

//將創(chuàng)建的按鈕循環(huán)添加到數(shù)組中

self.buttonArray.addObject(headerButton)

}

//選中指示條

lineView = UIView(frame: CGRectMake(0,58,screenW / CGFloat(titleArray.count),2))

lineView.backgroundColor = UIColor.redColor()

self.view.addSubview(lineView)

//scrollView

self.scrollView = UIScrollView(frame: CGRectMake(0,60,screenW,screenH - 60))

//設置分頁屬性

self.scrollView.pagingEnabled = true

//關閉scrolView的彈跳效果

self.scrollView.bounces = false

//設置代理

self.scrollView.delegate = self

self.view.addSubview(self.scrollView)

//設置contentSize

//contentSize的高度設置為0肌幽,為了避免在滑動scrollView出現(xiàn)不定向偏移的bug

self.scrollView.contentSize = CGSizeMake(screenW * CGFloat(titleArray.count), 0)

//如果上面的方式不起作用的話,可以關閉scrollView的留白

//self.automaticallyAdjustsScrollViewInsets = false

//實現(xiàn)滾動是框架的核心

//實例化子控制器

let firstVC = FirstViewController()

firstVC.view.backgroundColor = UIColor.redColor()

let secondVC = SecondViewController()

secondVC.view.backgroundColor = UIColor.blueColor()

let thirdVC = ThirdViewController()

thirdVC.view.backgroundColor = UIColor.greenColor()

let vcArray = [firstVC,secondVC,thirdVC]

for i in 0..

let vc = vcArray[i]

//設置vc.view的frame

vc.view.frame = CGRectMake(CGFloat(i) * screenW, 0, screenW, screenH - 60)

//將vc.view添加到scrollView之前需要將子控制器作為當前控制器的childViewController添加進去

self.addChildViewController(vc)

self.scrollView.addSubview(vc.view)

}

}

```

抽屜式

1.用手往左邊

```

let leftVC = LeftViewController()

leftVC.view.backgroundColor = UIColor.redColor()

let centerVC = CenterViewController()

let centerNav = UINavigationController(rootViewController: centerVC)

centerVC.view.backgroundColor = UIColor.blueColor()

//實例化抽屜類

let revealVC = SWRevealViewController(rearViewController: leftVC, frontViewController: centerNav)

//右抽屜

//revealVC.rightViewController =

//設置打開抽屜的寬度

revealVC.rearViewRevealWidth = 200

self.window?.rootViewController = revealVC

//需要手動設置打開抽屜的方式--注冊拖動效果

centerVC.view.addGestureRecognizer(revealVC.panGestureRecognizer())

```

2.實現(xiàn)qq那種效果 顏色可以在第三方庫自己去調(diào)節(jié)

```

var sideMenu:RESideMenu?

@IBAction func openDrawer(sender: AnyObject) {

if sideMenu == nil {

//添加抽屜中的選項

let item1 = RESideMenuItem(title: "我的收藏", action: { (menu, item) in

print("我的收藏")

//進行頁面跳轉(zhuǎn)(push或者present)之前晚碾,將menu隱藏掉,否則不能跳轉(zhuǎn)

menu.hide()

})

let item2 = RESideMenuItem(title: "QQ錢包", action: { (menu, item) in

print("QQ錢包")

})

//創(chuàng)建抽屜

sideMenu = RESideMenu(items: [item1,item2])

}

//讓抽屜顯示

sideMenu?.show()

}

```

3.還有種打開的方式 個人感覺比較low ?不建議使用

```

//實例化子控制器

let leftVC = LeftViewController()

leftVC.view.backgroundColor = UIColor.redColor()

let centerVC = CenterViewController()

centerVC.view.backgroundColor = UIColor.blueColor()

//實例化抽屜類喂急,用于管理leftVC和centerVC

let drawerVC = MMDrawerController(centerViewController: centerVC, leftDrawerViewController: leftVC)

//設置抽屜打開和關閉的模式

drawerVC.openDrawerGestureModeMask = MMOpenDrawerGestureMode.All

drawerVC.closeDrawerGestureModeMask = MMCloseDrawerGestureMode.All

//設置當抽屜打開之后的寬度

drawerVC.maximumLeftDrawerWidth = 200

self.window?.rootViewController = drawerVC

```

上面是手勢拖動改變 ?下面是button來改變

```

```


? ?

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末格嘁,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子廊移,更是在濱河造成了極大的恐慌糕簿,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狡孔,死亡現(xiàn)場離奇詭異懂诗,居然都是意外死亡,警方通過查閱死者的電腦和手機苗膝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門殃恒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人荚醒,你說我怎么就攤上這事芋类。” “怎么了界阁?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵侯繁,是天一觀的道長。 經(jīng)常有香客問我泡躯,道長贮竟,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任较剃,我火速辦了婚禮咕别,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘写穴。我一直安慰自己惰拱,他們只是感情好,可當我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布啊送。 她就那樣靜靜地躺著偿短,像睡著了一般欣孤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上昔逗,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天降传,我揣著相機與錄音,去河邊找鬼勾怒。 笑死婆排,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的笔链。 我是一名探鬼主播段只,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼卡乾!你這毒婦竟也來了翼悴?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤幔妨,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后谍椅,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體误堡,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年雏吭,在試婚紗的時候發(fā)現(xiàn)自己被綠了锁施。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡杖们,死狀恐怖悉抵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布伞鲫,位于F島的核電站省咨,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏薇宠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望岂座。 院中可真熱鬧,春花似錦杭措、人聲如沸费什。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鸳址。三九已至赘那,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間氯质,已是汗流浹背募舟。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留闻察,地道東北人拱礁。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像辕漂,于是被迫代替她去往敵國和親呢灶。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 第三方庫的一些知識與應用 一 設置網(wǎng)絡請求活動指示器(就是每當連網(wǎng)請求數(shù)據(jù)的時候彈出來的那個小菊花圖標)聲明hu...
    saman0閱讀 295評論 0 1
  • 1.badgeVaule氣泡提示 2.git終端命令方法> pwd查看全部 >cd>ls >之后桌面找到文件夾內(nèi)容...
    i得深刻方得S閱讀 4,640評論 1 9
  • iOS_autoLayout_Masonry 概述 Masonry是一個輕量級的布局框架與更好的包裝AutoLay...
    指尖的跳動閱讀 1,155評論 1 4
  • ? 雨后钉嘹。天還沒有徹底放晴鸯乃,空氣中到處彌漫著雨水清新的味道。 陣陣微風拂過跋涣,樹木上的雨水隨風輕輕滴落下來缨睡,猶如一顆...
    淡墨竹香閱讀 230評論 2 2
  • 下雨了奖年。背著吉他,我快步來到不遠處的一間茅草屋檐下沛贪。 “這雨真是沒有一點預兆陋守,一時半會兒應該是走不了了±常”我撣撣袖...
    落灬幕閱讀 265評論 0 1