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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【iOS - 周总结】开发中遇到的小知识点(2018.12.10-2018.12.15)

發(fā)布時(shí)間:2023/11/29 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【iOS - 周总结】开发中遇到的小知识点(2018.12.10-2018.12.15) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.WKWebview加載html文本圖片過大,沒有自適應(yīng)屏幕寬高。

在用Webview加載html文本有時(shí)候會遇到加載的圖片過大,不能自適應(yīng)屏幕寬高的問題。那么如何解決這個(gè)問題?如何使圖片自適應(yīng)屏幕?很簡單,只需要加一個(gè)js就可以。

直接上代碼:

- (WKWebView *)detailWeb {if (!_detailWeb) {NSString *jScript = @"var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'width=device-width'); document.getElementsByTagName('head')[0].appendChild(meta); var imgs = document.getElementsByTagName('img');for (var i in imgs){imgs[i].style.maxWidth='100%';imgs[i].style.height='auto';}";WKUserScript *wkUScript = [[WKUserScript alloc] initWithSource:jScript injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:YES];WKUserContentController *wkUController = [[WKUserContentController alloc] init];[wkUController addUserScript:wkUScript];WKWebViewConfiguration *wkWebConfig = [[WKWebViewConfiguration alloc] init];wkWebConfig.userContentController = wkUController;_detailWeb = [[WKWebView alloc] initWithFrame:CGRectMake(0, AdaptedWidth(40), SCREEN_WIDTH, SCREEN_HEIGHT-TopNavHeight-AdaptedWidth(40)) configuration:wkWebConfig];_detailWeb.backgroundColor = [UIColor whiteColor];_detailWeb.navigationDelegate = self;}return _detailWeb; }

2.scrollview使用Masnory自動布局

近期在項(xiàng)目中使用了Masnory。在一個(gè)關(guān)于我們的頁面由于數(shù)據(jù)網(wǎng)絡(luò)請求下來,且內(nèi)容長度不一定,我就決定使用Masnory+ScrollView來實(shí)現(xiàn)。結(jié)果就出現(xiàn)了一些些問題,scrollview就是不能滑動。后來研究解決了。

注意:個(gè)人覺得使用masnory就是和在xib、storyboard中設(shè)置一樣,缺什么約束就寫什么約束。

使用過程就在代碼里顯示。

#import "ViewController.h"#import "Masonry/Masonry.h"@interface ViewController ()@property (nonatomic, strong) UIScrollView *scrollView;@property (nonatomic, strong) UIView *scrollContentView;@property (nonatomic, strong) UILabel *titleLabel; @property (nonatomic, strong) UILabel *subLabel;@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];self.view.backgroundColor = [UIColor whiteColor];self.title = @"1";// 1.把scrollView添加到控制器view [self.view addSubview:self.scrollView];[self.scrollView mas_makeConstraints:^(MASConstraintMaker *make) {make.edges.equalTo(self.view);}];// 2.給scrollView添加一個(gè)containerView// 重點(diǎn) 唯一 大小貼合scrollview// 即scrollView的子視圖,即過渡視圖contentSize,并設(shè)置其約束 [self.scrollView addSubview:self.scrollContentView];[self.scrollContentView mas_makeConstraints:^(MASConstraintMaker *make) {// 注意點(diǎn):首先確定contentView的位置。如果上下滑動等寬 左右滑動等高 類似于xib make.left.top.right.bottom.equalTo(self.scrollView);make.width.equalTo(self.scrollView);}];// 3.此后所有視圖添加在scrollContentView上 [self.scrollContentView addSubview:self.titleLabel];[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {// 注意點(diǎn)這里面設(shè)置子視圖都要添加在contentView上 必須注意make.left.equalTo(self.scrollContentView.mas_left).offset(20);make.right.equalTo(self.scrollContentView.mas_right).offset(-20);make.top.equalTo(self.scrollContentView.mas_top).offset(100);make.height.mas_equalTo(40);}];[self.scrollContentView addSubview:self.subLabel];[self.subLabel mas_makeConstraints:^(MASConstraintMaker *make) {make.left.equalTo(self.scrollContentView.mas_left).offset(20);make.right.equalTo(self.scrollContentView.mas_right).offset(-20);make.top.equalTo(self.titleLabel.mas_bottom).offset(40);// 這個(gè)可寫在這個(gè)位置 也可以在網(wǎng)絡(luò)請求結(jié)束后添加make.bottom.equalTo(self.scrollContentView.mas_bottom).offset(-100);}];// 模擬網(wǎng)絡(luò)請求dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{self.subLabel.text = @"精雕機(jī)哦跌跤就疊加偶家迪歐家餓哦就掉得哦啊基金的年紀(jì)大遞交炯炯都我阿爾加到的驕傲的 待機(jī)餓哦案件都安靜哦啊接打帶哦接啊哦啊接待偶爾接愛哦的舊愛帶哦精雕機(jī)帶偶覺得 基調(diào)而驕傲的奧迪偶記帶哦精雕機(jī)哦跌跤就疊加偶家迪歐家餓哦就掉得哦啊基金的年紀(jì)大遞交炯炯都我阿爾加到的驕傲的 待機(jī)餓哦案件都安靜哦啊接打帶哦接啊哦啊接待偶爾接愛哦的舊愛帶哦精雕機(jī)帶偶覺得 基調(diào)而驕傲的奧迪偶記帶哦精雕機(jī)哦跌跤就疊加偶家迪歐家餓哦就掉得哦啊基金的年紀(jì)大遞交炯炯都我阿爾加到的驕傲的 待機(jī)餓哦案件都安靜哦啊接打帶哦接啊哦啊接待偶爾接愛哦的舊愛帶哦精雕機(jī)帶偶覺得 基調(diào)而驕傲的奧迪偶記帶哦精雕機(jī)哦跌跤就疊加偶家迪歐家餓哦就掉得哦啊基金的年紀(jì)大遞交炯炯都我阿爾加到的驕傲的 待機(jī)餓哦案件都安靜哦啊接打帶哦接啊哦啊接待偶爾接愛哦的舊愛帶哦精雕機(jī)帶偶覺得 基調(diào)而驕傲的奧迪偶記帶哦精雕機(jī)哦跌跤就疊加偶家迪歐家餓哦就掉得哦啊基金的年紀(jì)大遞交炯炯都我阿爾加到的驕傲的 待機(jī)餓哦案件都安靜哦啊接打帶哦接啊哦啊接待偶爾接愛哦的舊愛帶哦精雕機(jī)帶偶覺得 基調(diào)而驕傲的奧迪偶記帶哦精雕機(jī)哦跌跤就疊加偶家迪歐家餓哦就掉得哦啊基金的年紀(jì)大遞交炯炯都我阿爾加到的驕傲的 待機(jī)餓哦案件都安靜哦啊接打帶哦接啊哦啊接待偶爾接愛哦的舊愛帶哦精雕機(jī)帶偶覺得 基調(diào)而驕傲的奧迪偶記帶哦";// 在上面寫了這個(gè)位置可以不寫 最好不要都寫 會造成代碼混亂 // // 設(shè)置過渡視圖的底邊距(此設(shè)置將影響到scrollView的contentSize) // [self.scrollContentView mas_makeConstraints:^(MASConstraintMaker *make) { // make.bottom.equalTo(self.subLabel.mas_bottom).offset(30); // }]; });// Do any additional setup after loading the view, typically from a nib. }#pragma mark - Lazy Setter - (UIScrollView *)scrollView {if (!_scrollView) {_scrollView = [[UIScrollView alloc] init];_scrollView.backgroundColor = [UIColor greenColor];}return _scrollView; }- (UIView *)scrollContentView {if (!_scrollContentView) {_scrollContentView = [[UIView alloc] init];_scrollContentView.backgroundColor = [UIColor redColor];}return _scrollContentView; }- (UILabel *)titleLabel {if (!_titleLabel) {_titleLabel = [[UILabel alloc] init];_titleLabel.text = @"title";_titleLabel.textColor = [UIColor blackColor];_titleLabel.backgroundColor = [UIColor whiteColor];_titleLabel.font = [UIFont systemFontOfSize:16];_titleLabel.numberOfLines = 1;}return _titleLabel; }- (UILabel *)subLabel {if (!_subLabel) {_subLabel = [[UILabel alloc] init];_subLabel.textColor = [UIColor blackColor];_subLabel.backgroundColor = [UIColor whiteColor];_subLabel.font = [UIFont systemFontOfSize:16];_subLabel.numberOfLines = 0;}return _subLabel; }@end

參考:博客一、博客二。

3.設(shè)置label的最小字體。

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(30, 100, 100, 30)];label.text = @"fjirfjirjfi積分?jǐn)橙说姆e極對得金蝶雞的解決跌阿達(dá)啊打發(fā) 啊打發(fā)";label.adjustsFontSizeToFitWidth = YES;label.font = [UIFont systemFontOfSize:18];label.textColor = [UIColor blackColor]; // label.minimumFontSize = 14;label.minimumScaleFactor = 0.5;[self.view addSubview:label];

在6.0系統(tǒng)后minimumFontSize屬性已經(jīng)被棄用。推薦使用minimumScaleFactor。

注意點(diǎn):

? ? 1、0<minimumScaleFactor<1時(shí)才能達(dá)到效果。(字體10,想要最小字體5,設(shè)置0.5即可)

? ? 2、另外要設(shè)置adjustsFontSizeToFitWidth=YES.

? ? 3、還有需要UIlabel的行數(shù)是1的時(shí)候才有用,多行的label是不行的

? ? 4、minimumScaleFactor默認(rèn)值是0,此時(shí)最小字體就是設(shè)置的字體大小,和1的效果一樣。

轉(zhuǎn)載于:https://www.cnblogs.com/weicyNo-1/p/10123555.html

總結(jié)

以上是生活随笔為你收集整理的【iOS - 周总结】开发中遇到的小知识点(2018.12.10-2018.12.15)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。