亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

一周隨筆--15.10.19

2019-11-14 18:07:43
字體:
來源:轉載
供稿:網友

一周新知識點記錄(15.10.19)

一.ipad——UIPopoverController

UIPopoverController繼承自NSObject,因此不具備顯示能力,它是通過其中的內容控制器顯示的內容的。

 UIPopoverController使用四部曲:

一、創建UIPopoverController的內容控制器

二、根據內容控制器初始化UIPopoverController對象

三、設置UIPopoverController對象的尺寸

四、顯示UIPopoverController對象

 顯示UIPopoverController對象有兩種方法:

方法一:通過點擊UIBarButtonItem按鈕顯示

- (void)PResentPopoverFromBarButtonItem:(UIBarButtonItem *)item permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated;

參數說明:

item:觸發顯示的UIBarButtonItem對象

arrowDirections:顯示的箭頭方向

animated:是否展示過渡動畫

方法二:對特定區域顯示

- (void)presentPopoverFromRect:(CGRect)rect inView:(UIView *)view permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated;

參數說明:

rect:箭頭指向的區域

view:rect對應的視圖

arrowDirections:顯示箭頭的方向

animated:是否展示過渡動畫

注意:

1、UIPopoverController對象的尺寸不建議寫死,應當根據內容控制器的需要來。ios7以前對內容控制器(UIViewController)的contentSizeForViewInPopover設值,ios7以后對內容控制器的preferredContentSize設值。

2、UIPopoverController對象顯示出來的時候,默認任何其他控件都是不能交互的,點擊UIPopoverController對象區域意外的部分,對象dismiss。若想UIPopoverController對象顯示的時候能和某個控件交互,可以通過設置passthroughViews屬性實現。它是一個數組對象,將需要交互的控件打包成數組復制給它即可。


 二.二維碼生成

ios7以后系統提供了CoreImage框架中生成二維碼的濾鏡方法。由C語言支持的第三方庫libqrencode也是不錯的選擇。見Demo


 三.顯示模態窗口時的顯示方式及過渡方式

//顯示方式vc.modalPresentationStyle = UIModalPresentationFullScreen;//過渡方式vc.modalTransitionStyle = UIModalTransitionStylePartialCurl;

 對于iphone而言,只考慮過渡方式。

對于ipad而言,兩者都可考慮,顯示方式比較常用的是UIModalPresentationFormSheet(占據中間一小塊)


四.storyboard中巧用UITableView

可以直接在storyboard中設置tableView的頭視圖和尾視圖,拖出tableView到IB后,然后拖出視圖控件到tableView作為子視圖(tableView在IB中只允許有兩個子視圖,頭視圖和尾視圖,兩個視圖是連著的,頭在上尾在下)。只適用與storyboard,xib不適用,習慣用storyboard的話能夠大大提升開發效率。

另外可以直接在IB中對tableView設置代理和數據源。


 五.高度自適應options參數怎么設置

NSStringDrawingTruncatesLastVisibleLine

如果文本內容超出指定的矩形限制,文本將被截去并在最后一個字符后加上省略號。如果沒有指定NSStringDrawingUsesLineFragmentOrigin選項,則該選項被忽略。

NSStringDrawingUsesLineFragmentOrigin

繪制文本時使用 line fragement origin 而不是 baseline origin。

NSStringDrawingUsesFontLeading

計算行高時使用行距。(譯者注:字體大小+行間距=行距)

NSStringDrawingUsesDeviceMetrics

計算布局時使用圖元字形(而不是印刷字體)。

測試發現:

只使用NSStringDrawingUsesLineFragmentOrigin時,以寬度約束為依賴,即使計算出的高度超過設定的約束高度,最終還是返回計算出的高度,也就是忽略高度的約束。

 使用NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingTruncatesLastVisibleLine時,如果計算的高度超過約束的高度,最終返回的高度是可容納最大行數的文本對應高度,比如約束的高度容納得下2行,容不下3行,則返回的Size高度是2行對應的高度。

總結用法:

計算時options參數使用

NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesFontLeading

另外計算單行文本也可以直接使用sizeWithAttributes


 六.導航控制器的topViewController & visibleViewController

topViewController代表當前navigation棧中最上層的VC,而visibleViewController代表當前可見的VC,它可能是topViewController,也可能是當前topViewController present出來的VC。因此UINavigationController的這兩個屬性通常情況下是一樣,但也有可能不同。


七.自定義日歷的實現

日歷主界面通過collectionView搭建,難點在于獲取指定月的日歷結構,包括這個月開頭有幾天是上個月的,末尾有幾天是下個月的,將這些信息通過不同的字符標識保存到數組中,例如*表示上個月的date、#表示下個月的date,中間本月用1~天數標識,就能得到指定月的日歷結構。

獲取到這個存有指定月日歷結構的數組是關鍵,有了它界面的搭建就有依據了。具體見Demo

值得一提的是,每個星期的第一天是星期日。因此如果日歷7天為一行的話,默認最左邊是星期日。如果想改為從左到右是星期一~星期日的結構,只要設置日歷對象calendar的FirstWeekday屬性值為2即可,(默認為1,從星期日開始)。


 八.關于字符串的高度

一字符串,字體大小15,計算好了size,顯示成兩行,行間距設置成3,打印計算出的高度為38.79。

打印字體大小15的font對象的各個屬性以及查看

leading*2 = 35.790000

lineHeight*2 = 35.790000

capHeight*2 = 21.420000

xHeight*2 = 15.510000

ascender*2 = 28.560000

descender*2 = -7.230000

lineSpacing = 3.000000(事先設置) 

從數據可以看出:

1)計算出的高度是以兩行行高(lineHeight)和一行行間距(lineSpacing)組成的。

(2)ascender是文本基線到文本頂部的距離,descender是文本底部到基線的距離(是負的),行高(lineHeight = ascender - descender

3)xHeight和capHeight不重要,具體可以查網上的那張字形度量圖,但是那張圖個人認為有問題,與實際測試打印的數據不符。leading就是lineHeight。

另外經測試發現,對于設置了行間距了文本

一行文本計算高度結果 = 文本高度+行間距

兩行文本計算高度結果 = 文本高度*2+行間距

三行文本計算高度結果 = 文本高度*3+行間距*2

四行....

如果未設置行間距的文本(文本默認行間距就是0),文本高度就是行高*行數

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产亚洲精品成人av久久ww| 久久夜色精品国产| 日韩av免费一区| 精品五月天久久| 亚洲国产精品久久91精品| 亚洲精品自拍第一页| 日韩av在线电影网| 亚洲欧美在线一区| 2019中文字幕在线| 久久久天堂国产精品女人| 国产成人涩涩涩视频在线观看| 国产色婷婷国产综合在线理论片a| 国内精品久久久久影院优| 伊人久久综合97精品| 美乳少妇欧美精品| 欧美视频国产精品| 国产精品扒开腿爽爽爽视频| 69**夜色精品国产69乱| 日本道色综合久久影院| 欧美重口另类videos人妖| 日韩av影片在线观看| 亚洲成色999久久网站| 亚洲欧美色图片| 国产精品高清网站| 欧美成人小视频| 欧美午夜片在线免费观看| 成人xvideos免费视频| 日本高清视频精品| 亚洲色图25p| 国产噜噜噜噜久久久久久久久| 久久精品视频导航| 欧美床上激情在线观看| 久久视频在线视频| 日韩中文视频免费在线观看| 国产精品久久久久久av福利| 亚洲欧美日韩天堂| 国产美女久久精品| 91精品在线看| 亚洲欧美日韩中文在线制服| 国产91色在线|免| 国产成人精品久久二区二区| 成人午夜黄色影院| 国模精品一区二区三区色天香| 亚洲国产成人精品一区二区| 在线看片第一页欧美| 国产精品美女无圣光视频| 亚洲国产精品小视频| 欧美日韩在线看| 欧美国产极速在线| 国产日韩欧美在线视频观看| 国产精品色悠悠| 欧美午夜激情视频| 欧美日韩国产999| 国产精品成人va在线观看| 欧美片一区二区三区| 久久人体大胆视频| 久久久精品国产亚洲| 精品久久久久久久久久久久久久| 精品国产乱码久久久久久婷婷| 国产精品久久久久久搜索| 日韩欧美成人免费视频| 成人免费在线视频网站| 日韩视频在线免费观看| 亚洲美女免费精品视频在线观看| 91精品国产自产91精品| 777精品视频| 国产精品成人aaaaa网站| 久久综合免费视频影院| 国产亚洲精品一区二555| 91精品国产综合久久香蕉的用户体验| 精品福利免费观看| 97视频免费在线看| 欧美华人在线视频| 91成人在线播放| 一区二区三区视频在线| 国产精品美女久久久久av超清| 欧美性生活大片免费观看网址| 欧美另类高清videos| 亚洲日韩欧美视频| 日韩中文在线中文网三级| 欧美日韩国产一区在线| 亚洲视频在线观看| 成人午夜在线视频一区| 97视频在线免费观看| 久久91亚洲精品中文字幕奶水| 成人福利在线视频| 日韩成人在线观看| 国产欧美亚洲视频| 欧美麻豆久久久久久中文| 超薄丝袜一区二区| 欧美日韩国产黄| 欧美黑人狂野猛交老妇| 国产va免费精品高清在线观看| 草民午夜欧美限制a级福利片| 亚洲桃花岛网站| 91亚洲精品久久久久久久久久久久| 亚洲欧美国产一区二区三区| 国语自产精品视频在线看抢先版图片| 国产成人精彩在线视频九色| 欧美亚洲另类激情另类| 亚洲美女久久久| 欧美天天综合色影久久精品| 伊人久久免费视频| www.色综合| 国产网站欧美日韩免费精品在线观看| 色诱女教师一区二区三区| 色综合久久中文字幕综合网小说| 欧美成人午夜剧场免费观看| 国产精品久久不能| 国产成人在线播放| 国产不卡精品视男人的天堂| 国产精品久久久久久久av大片| 精品久久久久久电影| 国产精品专区h在线观看| 久久中文字幕一区| 亚洲欧美综合区自拍另类| 97av在线播放| 久久久久中文字幕2018| 亚洲第一综合天堂另类专| 亚洲性生活视频| 欧美精品在线免费观看| 91情侣偷在线精品国产| 国产精品第七影院| 奇门遁甲1982国语版免费观看高清| 欧美日韩精品在线视频| 成人亚洲激情网| 精品日本美女福利在线观看| 国产精品爱久久久久久久| 欧洲中文字幕国产精品| 精品久久久久久中文字幕一区奶水| 国产激情久久久久| 亚洲国产另类 国产精品国产免费| 91精品国产高清| 国产欧美一区二区三区久久| 色黄久久久久久| 国产91在线播放九色快色| 久久久精品久久久久| 国产精品观看在线亚洲人成网| 国产精品欧美激情在线播放| 国产丝袜高跟一区| 亚洲色在线视频| 黄网站色欧美视频| 国产日本欧美一区二区三区| 国内外成人免费激情在线视频| 奇米影视亚洲狠狠色| 亚洲成人激情在线观看| 国产精品入口日韩视频大尺度| 日本精品久久久久久久| 欧美黑人极品猛少妇色xxxxx| 日韩动漫免费观看电视剧高清| 这里只有精品丝袜| 亚洲成人中文字幕| 亚洲欧美在线一区| 成人免费观看a| 欧美性xxxx极品hd满灌| 欧美高清在线观看| 91精品国产乱码久久久久久蜜臀| 日韩在线视频观看| www.日韩不卡电影av| 九九热这里只有在线精品视| 国产一区二区黄| 中文字幕视频一区二区在线有码| 国产精品一区二区久久国产| 亚洲一区二区三区视频播放|