1. 程式人生 > >IOS實戰 (4) 之 仿微信新聞評論框+ 半透明模糊效果

IOS實戰 (4) 之 仿微信新聞評論框+ 半透明模糊效果

效果圖

網易新聞評論圖

網易新聞評論

仿圖

這裡寫圖片描述

實現思路

1.鍵盤彈出事件
2.UIVisualEffectView作為背景圖

核心程式碼

1.鍵盤彈出事件監聽
新增通知監聽

 [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(keyboardWillShow:)
                                                 name:UIKeyboardWillShowNotification
                                               object:nil]
;

實現 keyboardWillShow 方法(獲取鍵盤高度然後針對 View 進行調整 )

 CGRect keyboardBounds;
    [[notification.userInfo valueForKey:UIKeyboardFrameEndUserInfoKey] getValue:&keyboardBounds];
    NSLog(@"keyboadr  %@",NSStringFromCGRect(keyboardBounds));
    int  keyBoardHeight=keyboardBounds.size.height;
    NSNumber
*duration = [notification.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey]; NSNumber *curve = [notification.userInfo objectForKey:UIKeyboardAnimationCurveUserInfoKey]; [UIView beginAnimations:nil context:NULL]; [UIView setAnimationBeginsFromCurrentState:YES]; [UIView setAnimationDuration:[duration doubleValue]]; [UIView
setAnimationCurve:[curve intValue]]; dialogView.center=CGPointMake(ScreenWidth/2, ScreenHeight-keyBoardHeight-DialogViewHeight/2); NSLog(@"dialogView frame %@",NSStringFromCGRect(dialogView.frame)); NSLog(@"comment frame %@",NSStringFromCGRect(commentView.frame)); [UIView commitAnimations];

建立模糊圖層


    UIView *maskView;
    double version = [[UIDevice currentDevice].systemVersion doubleValue];
    if (version >= 8.0f) {

        UIBlurEffect *blur = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
        maskView = [[UIVisualEffectView alloc] initWithEffect:blur];
        ((UIVisualEffectView *)maskView).frame = self.view.bounds;

    }else if(version >= 7.0f){

        maskView = [[UIToolbar alloc] initWithFrame:self.view.bounds];
        ((UIToolbar *)maskView).barStyle = UIBarStyleDefault;

    }

總結

整個例子非常簡單,模糊效果 IOS8 及以上 可以使用UIVisualEffectView 就可以實現官方的模糊效果. IOS 7 以上可以用 ToolBar 勉強代替.要是還要向下相容.我的原始碼裡有一個大神做的 BlurView 也可以使用.

原始碼

原始碼下載

相關推薦

IOS實戰 (4) 仿新聞評論+ 透明模糊效果

效果圖 網易新聞評論圖 仿圖 實現思路 1.鍵盤彈出事件 2.UIVisualEffectView作為背景圖 核心程式碼 1.鍵盤彈出事件監聽 新增通知監聽 [[NSNotificationCenter defaultCe

android開發仿輸入效果

<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="50dp" android:layout_m

安卓專案實戰仿朋友圈的九宮格自定義控制元件

效果圖 圖片展示形式 1、當只有1張圖時,可以自己定製圖片寬高,也可以使用預設九宮格的寬高; 2、當只有4張圖時,以2*2的方式顯示; 3、除以上兩種情況下,都是按照3列方式顯示,但這時有一些細節: a、如果只有9張圖,當然是以3*3的方式顯示;

Android專案導航欄仿底部導航欄TabLayout+ViewPager+Fragment

一、實現效果: 二、依賴jar包: compile 'com.android.support:design:24+'三、專案工程結構: 四、XML佈局 activity_main.xml佈局: <?xml version="1.0" encoding="u

仿評論回覆(簡易)

https://www.jianshu.com/p/0061df465650先說說大概邏輯,一個控制器裡新增列表(類似朋友圈的每條動態),每個動態裡面再新增一個列表(用來顯示所有評論以及點選回覆評論),都是用Masonry佈局加HYBMasonryAutoCellHeight自適應行高來完成,鍵盤是隨便找的一

仿仿介面二維碼掃描效果 Android 基於google Zxing實現二維碼、條形碼掃描

    絕大多數android開發者都是使用google Zxing來實現二維碼、條形碼掃描,但官方和網上很多demo的掃描介面讓人不忍直視,今天我也做了一個,介面和執行效都是高仿微信最新版的掃描效果,執行效果圖如下: 主要是修改了ViewfindView類,我就不多解

Android程式設計仿顯示更多文字的View

微信朋友圈中,如果好友發表的文字過長,會自動收縮起來,底下有提示,當點選“顯示更多”時才會展開。 首先定義佈局檔案(很簡單,不解釋): <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:

android系列談一——仿6.0左右滑動漸變切換效果

[java] view plaincopyprint? <pre name="code"class="java">   ------------------------------------------

popupWindow詳解和仿例項

1、介紹 (1)使用PopupWindow可實現彈出視窗效果,,其實和AlertDialog一樣,也是一種對話方塊,兩者也經常混用,但是也各有特點。 AlertDialog是非阻塞式對話方塊:AlertDialog彈出時,後臺還可以做事情;而PopupWindow是阻塞式對話方塊:Pop

仿 RadioButton 自定義點選效果

1.Android Studio 步驟: 1.選中drawable目錄後點擊滑鼠右鍵New-Drawable resource file,如圖: 2.輸入檔名稱,點選ok,如圖:

Android 高仿發朋友圈瀏覽圖片效果

最近一直在高仿微信、高仿微信,今天小編再給大家分享一個仿微信發朋友圈瀏覽圖片的效果.... 好了,先看一下效果吧: 下面就來說一下具體怎麼實現的: 實現思路 1.首先我們要獲取資料來源,資料來源就是我們的每條說說(包括姓名、標題、圖片陣列)

android使用GridView+仿圖片上傳功能(附源代碼)

相冊 ada nbu [] for round pen fromfile idt   由於工作要求最近在使用GridView完成圖片的批量上傳功能,我的例子當中包含仿微信圖片上傳、拍照、本地選擇、相片裁剪等功能,如果有需要的朋友可以看一下,希望我的實際經驗能對您有所幫助。

Zabbix 3.4.3企業報警

zabbix一、企業微信註冊 微信的報警方式可以讓我們隨時隨地接收到信息,加快問題的處理,比傳統郵件更加方便,首先我們先打開企業微信的地址 https://work.weixin.qq.com 1、填寫申請信息2、下一步 根據註冊流程步驟進行後面的操作,直到註冊成功。二、企業微信配置1、創建部門

Netty Springboot仿聊天全棧實戰 從0開發到上線部署視頻教程

線程模型 win 主動 tomcat 高性能 手機端 線程 pen ade 下載地址:百度網盤下載 第1章 課程介紹本章首先讓大家徹底明白通過本課程的學習具體收獲有哪些?課程內容具體安排與學習建議,然後為大家簡單介紹課程涉及到的技術棧等。1-1 課程介紹第2章 netty介

仿 IM後臺 億級流量實戰

億級流量IM的應用場景 隨著移動網際網路、AI的飛速發展,高效能高併發IM(即時通訊),有著非常廣泛的應用場景。 一切高實時性通訊、訊息推送的場景,都需要高併發 IM 。 私信、聊天、大規模推送、視訊會議、彈幕、抽獎、互動遊戲、基於位置的應用(Uber、滴滴司機位置)、線上教育、智慧家居等。 有這

4章_Java仿全棧高效能後臺+移動客戶端

基於web端使用netty和websocket來做一個簡單的聊天的小練習。實時通訊有三種方式:Ajax輪詢、Long pull、websocket,現在很多的業務場景,比方說聊天室、或者手機端online的一些線上的聯機的小遊戲,其實它們都會需要去做到實時通訊。如何做到實時的雙向通訊呢?Ajax輪詢和Long

仿 IM後臺(億級流量高併發) 瘋狂實戰

仿微信 億級流量 IM後臺 實戰 分散式、高併發、億級流量—— 瘋狂創客圈 死磕Netty 系列之10 億級流量IM的應用場景 隨著移動網際網路、AI的飛速發展,高效能高併發IM(即時通訊),有著非常廣泛的應用場景。 一切高實

iOS 仿語音輸入動畫

這篇是接著上一篇文章, 完成一個隨著語音輸入大小的變化, 而變化的動畫. // // PBSpeechRecognizer.h // ParkBest // // Created by summerxx27 on 2018/10/30. // Copyr

Netty/Springboot仿聊天全棧實戰 從0開發到上線部署

推薦視訊連結 第1章 課程介紹 本章首先讓大家徹底明白通過本課程的學習具體收穫有哪些?課程內容具體安排與學習建議,然後為大家簡單介紹課程涉及到的技術棧等。 第2章 netty介紹與相關基礎知識 初識netty,學習阻塞與非阻塞,同步與非同步,理解BIO、NIO

Netty/Springboot仿聊天全棧實戰 從0開發到上線部署(完整版)

第1章 課程介紹 課程介紹 第2章 netty介紹與相關基礎知識 初識netty,學習阻塞與非阻塞,同步與非同步,理解BIO、NIO、AIO以及netty的執行緒模型 第3章 使用netty編寫第一個hello netty 伺服器 從零開始使用netty編寫伺服器,在網頁