開發(fā)小技巧

*- 撿起初心铃剔, 慢慢走,希望自己好好努力查刻,志于不用工作的人 *

1键兜、禁止第三方鍵盤

在要填密碼的地方, 為了安全考慮穗泵!要么禁用第三方鍵盤普气,要么自定義鍵盤!

 //禁止第三方鍵盤的使用
 - (BOOL)application:(UIApplication *)application shouldAllowExtensionPointIdentifier:(NSString *)extensionPointIdentifier{
return NO;
} 

2佃延、禁止系統(tǒng)的面板

手機(jī)默認(rèn)的輸入框右鍵或者選中文字右鍵會(huì)彈出菜單现诀,但是有時(shí)候我們?cè)谧鰧?duì)文本嚴(yán)格要求的時(shí)候 (比如說不能使文字啊),就要關(guān)閉這個(gè)功能履肃, 只需要在自定義的UITextfield或UITextview里面添加下面這一句話:

3.36.57.png
-(BOOL)canPerformAction:(SEL)action withSender:(id)sender{
UIMenuController * menu = [UIMenuController sharedMenuController];
if (menu) {
    [UIMenuController sharedMenuController].menuVisible = NO;
}
return NO;
}

3赶盔、點(diǎn)擊部分文字響應(yīng)

有時(shí)候你需要在一行文本中點(diǎn)擊某幾個(gè)特殊的文字,來實(shí)現(xiàn)跳轉(zhuǎn)網(wǎng)頁或者打電話的功能榆浓。我的需求是在公告里面要能點(diǎn)擊電話。

4.00.39.png

我是自定義了一個(gè)UITextView實(shí)現(xiàn)得撕攒,代碼如下:

@implementation FDTextKitVIew

- (instancetype)initWithCoder:(NSCoder *)coder
{
self = [super initWithCoder:coder];
if (self) {

}
return self;
}

- (void)setText:(NSString *)text{
[super setText:text];
//目標(biāo)文字是你已知的文字陡鹃,或者取服務(wù)器字段知道的
NSRange range = [self.text rangeOfString:目標(biāo)文字];

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWithString:text];
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init];
[paragraphStyle setLineSpacing:5];

// 行間距
[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, text.length)];
//改變電話號(hào)碼的背景色
[attributedString addAttribute:NSForegroundColorAttributeName value:DRHColor(48, 121, 255) range:range];
   // 下劃線
[attributedString addAttribute:NSUnderlineStyleAttributeName value:@(NSUnderlineStyleSingle) range:range];
[attributedString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"HelveticaNeue-Light" size:16] range:NSMakeRange(0, text.length)];
self.attributedText = attributedString;
}

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
NSSet *allTouches = [event allTouches];    //返回與當(dāng)前接收者有關(guān)的所有的觸摸對(duì)象
UITouch *touch = [allTouches anyObject];   //視圖中的所有對(duì)象
CGPoint point = [touch locationInView:[touch view]];

NSRange range = [self.text rangeOfString:目標(biāo)文字];

 //  self.selectedRange = range;
// 不能設(shè)置是因?yàn)?selectedable
[self setSelectedRange:range];

NSArray * arr = [self selectionRectsForRange:self.selectedTextRange];

for(UITextSelectionRect * textrect in arr){
    if(CGRectContainsPoint(textrect.rect, point)){
      // 這里就是響應(yīng)的地方
    }
     }
     }
@end

4烘浦、獲取網(wǎng)絡(luò)圖片的尺寸

Paste_Image.png

以前做這種像帖子詳情或想新浪微博的布局時(shí)用的不是h5, 都是前端要自己獲取圖片數(shù)組萍鲸,自己計(jì)算圖片的寬高做自適應(yīng)闷叉, 當(dāng)時(shí)幸虧找到一個(gè)大神寫的工具類,全部都是對(duì)二進(jìn)制字節(jié)流的計(jì)算脊阴。
現(xiàn)在常用這個(gè)一個(gè)方法:

NSArray * urlArr = @[
                     @"http://upload-images.jianshu.io/upload_images/31282-390513513494ede8.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240",
                     @"http://upload-images.jianshu.io/upload_images/1931381-12109e9d6666bb0e.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240",
                     @"http://upload-images.jianshu.io/upload_images/3375207-6adc6a22441681ce.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240",
                     @"http://upload-images.jianshu.io/upload_images/3375207-6adc6a22441681ce.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240",
                     @"http://upload-images.jianshu.io/upload_images/1336788-2ac84707ce22e970.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1080/q/50"];

dispatch_group_t grounp  =  dispatch_group_create();
for(NSString * str in urlArr){
    // 將當(dāng)前的下載操作添加到組中
    dispatch_group_enter(grounp);
    // 緩存圖片
    [[SDWebImageDownloader sharedDownloader] downloadImageWithURL:[NSURL URLWithString:str] options:SDWebImageDownloaderUseNSURLCache progress:^(NSInteger receivedSize, NSInteger expectedSize) {
        
    } completed:^(UIImage *image, NSData *data, NSError *error, BOOL finished) {
      // 把緩存到本地的img添加到數(shù)據(jù)握侧, 也可以通過image.size取到寬高比例
        [_arr addObject:image];
        //完成單張圖片下載離開當(dāng)前組
        dispatch_group_leave(grounp);
    }];
}

dispatch_group_notify(grounp, dispatch_get_main_queue(), ^{
    // 來到這里所有圖片都下載完成
   // 更新UI, 就好了
});

5、清除webviewde的緩存

- (void)dealloc{
self.m_WebView = nil;

//清除cookies
NSHTTPCookie *cookie;
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (cookie in [storage cookies]){
    [storage deleteCookie:cookie];
}
//清除UIWebView的緩存
[[NSURLCache sharedURLCache] removeAllCachedResponses];
NSURLCache * cache = [NSURLCache sharedURLCache];
[cache removeAllCachedResponses];
[cache setDiskCapacity:0];
[cache setMemoryCapacity:0];
}

繼續(xù)努力嘿期,撿起技能包品擎!以后會(huì)持續(xù)更新實(shí)用小技巧~

以后的時(shí)間就是好好學(xué),憋大招~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末备徐,一起剝皮案震驚了整個(gè)濱河市萄传,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蜜猾,老刑警劉巖秀菱,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異蹭睡,居然都是意外死亡衍菱,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門肩豁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來脊串,“玉大人,你說我怎么就攤上這事蓖救『楣妫” “怎么了?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵循捺,是天一觀的道長(zhǎng)斩例。 經(jīng)常有香客問我,道長(zhǎng)从橘,這世上最難降的妖魔是什么念赶? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮恰力,結(jié)果婚禮上叉谜,老公的妹妹穿的比我還像新娘。我一直安慰自己踩萎,他們只是感情好停局,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般董栽。 火紅的嫁衣襯著肌膚如雪码倦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天锭碳,我揣著相機(jī)與錄音袁稽,去河邊找鬼。 笑死擒抛,一個(gè)胖子當(dāng)著我的面吹牛推汽,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播歧沪,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼歹撒,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了槽畔?” 一聲冷哼從身側(cè)響起栈妆,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎厢钧,沒想到半個(gè)月后鳞尔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡早直,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年寥假,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片霞扬。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡糕韧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出喻圃,到底是詐尸還是另有隱情萤彩,我是刑警寧澤,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布斧拍,位于F島的核電站雀扶,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏肆汹。R本人自食惡果不足惜愚墓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望昂勉。 院中可真熱鬧浪册,春花似錦、人聲如沸岗照。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至煞肾,卻和暖如春咧织,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背籍救。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留渠抹,地道東北人蝙昙。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像梧却,于是被迫代替她去往敵國和親奇颠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,185評(píng)論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫放航、插件烈拒、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,107評(píng)論 4 62
  • 2010-9-4 21:33現(xiàn)在,不知怎么广鳍,對(duì)什么都如此“看開”荆几,只是在想好像世界與我貌似無關(guān)一樣,也許是有些不能...
    那看戲人閱讀 234評(píng)論 0 0