iOS Tips(無限期更新...)

  • ios - 設(shè)置tabBarItem.imageInsets后,item每點一下會變小解決方案
 UIEdgeInsetsMake 的top bottom left right 必須是對稱的比如5,-5
exp:
vc.tabBarItem.imageInsets = UIEdgeInsetsMake(5, 0, -5, 0);  (顯示正常)
vc.tabBarItem.imageInsets = UIEdgeInsetsMake(5, 0, -4, 0); (每次點擊 item 會變小)
  • Masonry label 顯示多行 設(shè)置 preferredMaxLayoutWidth
 //顯示多行尺锚,自適應(yīng)高度
    UILabel *label3 = [[UILabelalloc] initWithFrame:CGRectZero];
    [self.viewaddSubview:label3];
    label3.backgroundColor =[UIColorredColor];
    label3.text =@"測試測試測試測試測試測試測試測試測試測試測試測試測試測試測試測試測試測試測試測試測試測試測試贮缕!";

/* // Support for constraint-based layout (auto layout)
// If nonzero, this is used when determining -intrinsicContentSize for multiline labels

@property(nonatomic) CGFloat preferredMaxLayoutWidth NS_AVAILABLE_IOS(6_0); 

*/
    label3.preferredMaxLayoutWidth = (self.view.frame.size.width -10.0 * 2);
    label3.numberOfLines =0;
    [label3 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.mas_equalTo(10.0);
        make.right.mas_equalTo(-10.0);
        make.top.mas_equalTo(100.0);
    }];
  • 獲取App 相關(guān)信息接口
http://itunes.apple.com/cn/lookup?id=#appid#  
注意 appid 替換成 自己App的id
  • iOS webView 滑動不流暢 (改變webView 阻尼系數(shù))
/** 改變webView 阻尼系數(shù) */
 _webView.scrollView.decelerationRate = UIScrollViewDecelerationRateNormal;
  • iOS 打包的那些坑
Deployment 為 iOS 7.0 打包出來的ipa中 Assets.car 文件 大約比 Deployment 為 iOS 8.0 打包出來的ipa中 Assets.car 小一半左右  Deployment 為 iOS 9.0 打包出來的Assets.car 文件和 7.0 下差不多 
  • view快速添加模糊效果
 UIImageView *imageView = [[UIImageView alloc] initWithFrame:self.view.bounds];
    imageView.image = [UIImage imageNamed:@"index"];
    [self.view addSubview:imageView];
    
     /** 在希望模糊的view上加一個 toolBar 即可 */
    UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:imageView.frame];
    [imageView addSubview:toolBar];
    
  • 對數(shù)組進行排序
#pragma mark 數(shù)組排序4-高級排序  
void arraySort4() {  
    Student *stu1 = [Student studentWithFirstname:@"MingJie" lastname:@"Li" bookName:@"book1"];  
    Student *stu2 = [Student studentWithFirstname:@"LongHu" lastname:@"Huang" bookName:@"book2"];  
    Student *stu3 = [Student studentWithFirstname:@"LianJie" lastname:@"Li" bookName:@"book2"];  
    Student *stu4 = [Student studentWithFirstname:@"Jian" lastname:@"Xiao" bookName:@"book1"];  
    NSArray *array = [NSArray arrayWithObjects:stu1,stu2,stu3, stu4, nil nil];  
      
    // 1.先按照書名進行排序  
    // 這里的key寫的是@property的名稱  
    NSSortDescriptor *bookNameDesc = [NSSortDescriptor sortDescriptorWithKey:@"book.name" ascending:YES];  
    // 2.再按照姓進行排序  
    NSSortDescriptor *lastnameDesc = [NSSortDescriptor sortDescriptorWithKey:@"lastname" ascending:YES];  
    // 3.再按照名進行排序  
    NSSortDescriptor *firstnameDesc = [NSSortDescriptor sortDescriptorWithKey:@"firstname" ascending:YES];  
    // 按順序添加排序描述器  
    NSArray *descs = [NSArray arrayWithObjects:bookNameDesc, lastnameDesc, firstnameDesc, nil nil];  
      
    NSArray *array2 = [array sortedArrayUsingDescriptors:descs];  
      
    NSLog(@"array2:%@", array2);  
}  
  • iOS 7.0之后 UILabel展示 HTML文本方法

    NSString * html = @"<html><body><style>body{background-color:#FFFFFF;color:#555555;}img {max-width:200px;max-height:200px;}</style> <p><img src=http://tp.mnks.cn/tp_105.jpg></p>Some<input type='text' size='5'> <br/>html <strong>string</strong> <b>hdhs</b><i>d</i> </body></html>";
    
    NSAttributedString *attr = [[NSAttributedString alloc] initWithData:[html dataUsingEncoding:NSUnicodeStringEncoding] options:@{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType} documentAttributes:nil error:nil];
    
    lable.attributedText = attr;
  • swift單例寫法
class ControversyManager {
    static let sharedInstance = ControversyManager()
}
  • 利用UIApplication單例拿到當前視圖控制器 這樣就能直接拿到當前的rootViewController。比如對它調(diào)用presentViewController: animated: completion:
    就可以馬上在當前狀態(tài)下彈出一個視圖控制器问欠。
[[UIApplication sharedApplication].windows firstObject].rootViewController
  • tableView cell 滑動時候?qū)崿F(xiàn) 3D效果
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
    ///配置 CATransform3D 動畫內(nèi)容
    CATransform3D  transform ;
    transform.m34 = 1.0/-800;
    //定義 Cell的初始化狀態(tài)
    cell.layer.transform = transform;
    //定義Cell 最終狀態(tài) 并且提交動畫
    [UIView beginAnimations:@"transform" context:NULL];
    [UIView setAnimationDuration:1];
    cell.layer.transform = CATransform3DIdentity;
    cell.frame = CGRectMake(0, cell.frame.origin.y, cell.frame.size.width, cell.frame.size.height);
    [UIView commitAnimations];
    
}
  • Label 簡單圖文混排
// 文字圖片拼接顯示
- (void)setLabel3
{
    // NSTextAttachment - 附件
    // 1.創(chuàng)建文本附件包含圖片肝匆,知道附件 bounds
    NSTextAttachment *attachMent = [[NSTextAttachment alloc] init];
    
    // 設(shè)置圖片
    attachMent.image = [UIImage imageNamed: @"image"];
    
    // 設(shè)置大小
    CGFloat height = self.label.font.lineHeight;
    attachMent.bounds = CGRectMake(0, 0, height, height);
    
    // 添加
    // 2.使用附件創(chuàng)建屬性字符串
    NSAttributedString *attrString = [NSAttributedString attributedStringWithAttachment:attachMent];
    
    // 拼接文字
    NSString *str = @"測試";
    // 3.創(chuàng)建可變字符 拼接字符串
    NSMutableAttributedString *strM = [[NSMutableAttributedString alloc] initWithString:str];
    [strM appendAttributedString:attrString];
    [strM appendAttributedString: [[NSAttributedString alloc] initWithString: @"測試"]];
    
    // 設(shè)置 label 內(nèi)容
    self.label.backgroundColor = [UIColor grayColor];
    self.label.attributedText = strM;
}
  • 強制橫屏 ios8 橫屏狀態(tài)欄不顯示解決方法
:在plist文件中將 View controller-based status bar appearance 設(shè)置為NO 在application:didFinishLaunchingWithOptions:中添加下面代碼 
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
 [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
  • UIMenuController注意事項
顯示UIMenuController前必須調(diào)用becomeFirstResponder 例如  [self.view becomeFirstResponder];
必須重寫canBecomeFirstResponder方法返回YES
有些控件會有系統(tǒng)的UIMenuItem,使用canPerformAction:withSender:方法篩選出需要的item

Tip


學(xué)習(xí)的路上總是曲折的顺献,每個人都是從菜鳥過來的旗国,遇到問題總是希望能夠與他人溝通交流,而在各種群里問了問題就石沉大海注整,所以想建一個技術(shù)交流為主的群能曾,遇到的問題可以記錄下來分享給他人度硝,方便了自己,也造就了他人寿冕,不管怎樣蕊程,記錄點滴,但愿與君共勉

*QQ群號:527377492 *

Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蚂斤,一起剝皮案震驚了整個濱河市存捺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌曙蒸,老刑警劉巖捌治,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異纽窟,居然都是意外死亡肖油,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門臂港,熙熙樓的掌柜王于貴愁眉苦臉地迎上來森枪,“玉大人,你說我怎么就攤上這事审孽∠馗ぃ” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵佑力,是天一觀的道長式散。 經(jīng)常有香客問我,道長打颤,這世上最難降的妖魔是什么暴拄? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮编饺,結(jié)果婚禮上乖篷,老公的妹妹穿的比我還像新娘。我一直安慰自己透且,他們只是感情好撕蔼,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著秽誊,像睡著了一般罕邀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上养距,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天诉探,我揣著相機與錄音,去河邊找鬼棍厌。 笑死肾胯,一個胖子當著我的面吹牛竖席,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播敬肚,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼艳馒!你這毒婦竟也來了憎亚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤弄慰,失蹤者是張志新(化名)和其女友劉穎第美,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體陆爽,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡什往,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了慌闭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片别威。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖驴剔,靈堂內(nèi)的尸體忽然破棺而出省古,到底是詐尸還是另有隱情,我是刑警寧澤丧失,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布豺妓,位于F島的核電站,受9級特大地震影響利花,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜载佳,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一炒事、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蔫慧,春花似錦挠乳、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至黍析,卻和暖如春卖怜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背阐枣。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工马靠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留奄抽,地道東北人吨岭。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓糯累,卻偏偏與公主長得像,于是被迫代替她去往敵國和親渴逻。 傳聞我的和親對象是個殘疾皇子妙啃,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

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