如何在用户向上滚动时增加高斯模糊

时间:2015-07-23 10:43:42

标签: ios

我在UIImageView中有一个UIImage,截至目前已经应用了半径为50的高斯模糊滤镜。根据新要求,我需要将其初始高斯模糊设置为3px。然后当用户向上滚动视图时,将其从3px缓慢增加到10像素?有人可以帮我理解如何做到这一点?

这是我用来模糊图像的代码,目前半径为50.

   FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.karaj.project/com.karaj.project.FistActiivty}: android.view.InflateException: Binary XML file line #301: Error inflating class android.support.design.widget.FloatingActionButton
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
    at android.app.ActivityThread.access$600(ActivityThread.java:141)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:5103)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:525)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
    at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #301: Error inflating class android.support.design.widget.FloatingActionButton
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:707)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
    at com.karaj.project.DrawerActivity.setContentView(DrawerActivity.java:73)
    at com.karaj.project.FistActiivty.onCreate(FistActiivty.java:88)
    at android.app.Activity.performCreate(Activity.java:5133)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
    ... 11 more
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.design.widget.FloatingActionButton" on path: DexPathList[[zip file "/data/app/com.karaj.persiandesigners-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.karaj.persiandesigners-1, /system/lib]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
    at android.view.LayoutInflater.createView(LayoutInflater.java:559)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696)
    ... 20 more

1 个答案:

答案 0 :(得分:0)

-(void)scrollViewDidScroll:(UIScrollView *)scrollView {
    /* This is the offset at the bottom of the scroll view. */
    CGFloat totalScroll = scrollView.contentSize.height - scrollView.bounds.size.height;

    /* This is the current offset. */
    CGFloat offset = - scrollView.contentOffset.y;

    /* This is the percentage of the current offset / bottom offset. */
    CGFloat percentage = offset / totalScroll;

    /* When percentage = 0, the Blur should be 3 so we should flip the percentage. */
    imageview.blurLevel= (3.0f + percentage);
}

来源:SFOS