当前位置:  编程技术>移动开发
本页文章导读:
    ▪UIView的Animation有关函数        UIView的Animation相关函数 beginAnimations:context: 开始一个动画块 + (void)beginAnimations:(NSString *)animationID context:(void*)context 参数 animationID 动画块内部应用程序标识用来传递给动画代理消息-这个选择.........
    ▪ 关于新浪微博与腾讯微博从Oauth1.0升级到Oauth2.0的历程        关于新浪微博与腾讯微博从Oauth1.0升级到Oauth2.0的过程 新浪微博 曾经@微博API 新浪那边表示 旧版的Oauth 1.0a将在不久的2012.9.1号停止。这个是一个很苦逼的消息。意味着涉及微博的都要修改。.........
    ▪ 增添search + home +back +menu 四个物理按键添加震动效果       添加search + home +back +menu 四个物理按键添加震动效果在./frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java里面 将:  if (down && (policyFlags & WindowManagerPolicy.FLAG_VIRTUAL) != 0 .........

[1]UIView的Animation有关函数
    来源: 互联网  发布时间: 2014-02-18
UIView的Animation相关函数

beginAnimations:context:

开始一个动画块
+ (void)beginAnimations:(NSString *)animationID context:(void*)context
参数
animationID
动画块内部应用程序标识用来传递给动画代理消息-这个选择器运用setAnimationWillStartSelector:和setAnimationDidStopSelector:方法来设置。
context
附加的应用程序信息用来传递给动画代理消息-这个选择器使用setAnimationWillStartSelector:和setAnimationDidStopSelector: 方法。
讨论
这个值改变是因为设置了一些需要在动画块中产生动画的属性。动画块可以被嵌套。如果在没有在动画块中调用那么setAnimation类方法将什么都不做。使用beginAnimations:context:来开始一个动画块并用commitAnimations类方法来结束一个动画块。

setAnimationDuration:

设置动画块中的动画持续时间(用秒)
+ (void)setAnimationDuration:(NSTimeInterval)duration
参数
duration
一段动画持续的时间。
讨论
这个方法在动画块外没有效果。使用beginAnimations:context:类方法来开始一个动画块并用commitAnimations类方法来结束一个动画块。默认值是0.2。

setAnimationDelay:

在动画块中设置动画的延迟属性(以秒为单位)
+ (void)setAnimationDelay:(NSTimeInterval)delay
讨论
这个方法在动画块外调用无效。使用beginAnimations:context:类方法开始一个动画块并用commitAnimations类方法结束动画块。默认的动画延迟是0.0秒。

commitAnimations

结束一个动画块并开始当他在动画块外时。
+ (void)commitAnimations
讨论
如果当前的动画块是最外层的动画块,当应用程序返回到循环运行时开始动画块。动画在一个独立的线程中所有应用程序不会中断。使用这个方法,多个动画可以被实现。查看setAnimationBeginsFromCurrentState:来了解如果开始一个动画当另外一个动画在播放的时候。

areAnimationsEnabled

返回一个布尔值表示动画是否结束。
+ (BOOL)areAnimationsEnabled
返回值
如果动画结束返回YES,否则NO。


layerClass

返回类用来创建这一个本类的layer实例对象。
+ (Class)layerClass
返回值
一个用来创建视图layer的类
讨论
重写子类来指定一个自定义类用来显示。当在创建视图layer时候调用。默认的值是CALayer类对象。


setAnimationBeginsFromCurrentState:

设置动画从当前状态开始播放。
+(void)setAnimationBeginsFromCurrentState:(BOOL)fromCurrentState
参数
fromCurrentState
YES如果动画需要从他们当前状态开始播放。否则为NO。
讨论
如果设置为YES那么当动画在运行过程中,当前视图的位置将会作为新的动画的开始状态。如果设置为NO,当前动画结束前新动画将使用视图最後状态的位置作为开始状态。这个方法将不会做任何事情如果动画没有运行或者没有在动画块外调用。使用beginAnimations:context:类方法来开始并用commitAnimations类方法来结束动画块。默认值是NO。


setAnimationCurve:

设置动画块中的动画属性变化的曲线。

ps:主要是阶段性快慢的变化,比如先快后慢,先慢后快...
+ (void)setAnimationCurve:(UIViewAnimationCurve)curve
讨论
动画曲线是动画运行过程中相对的速度。如果在动画块外调用这个方法将会无效。使用beginAnimations:context:类方法来开始动画块并用commitAnimations来结束动画块。默认动画曲线的值是UIViewAnimationCurveEaseInOut。

setAnimationDelegate:

设置动画消息的代理。
+ (void)setAnimationDelegate:(id)delegate
参数
delegate
你可以用setAnimationWillStartSelector:和setAnimationDidStopSelector:方法来设置接收代理消息的对象。
讨论
这个方法在动画块外没有任何效果。使用beginAnimations:context:类方法开始一个动画块并用commitAnimations类方法结束一个动画块。默认值是nil

setAnimationDidStopSelector:

设置消息给动画代理当动画停止的时候。
+ (void)setAnimationDidStopSelector:(SEL)selector
参数
selector
当动画结束的时候发送给动画代理。默认值是NULL。这个选择者须有下面方法的签名:animationFinished:(NSString*)animationID finished:(BOOL)finished context:(void*)context。
animationID
一个应用程序提供的标识符。和传给beginAnimations:context: 相同的参数。这个参数可以为空。
finished
如果动画在停止前完成那返回YES;否则就是NO。
context
一个可选的应用程序内容提供者。和beginAnimations:context: 方法相同的参数。可以为空。
讨论
这个方法在动画块外没有任何效果。使用beginAnimations:context:类方法来开始一个动画块并用commitAnimations类方法结束。默认值是NULL。

setAnimationRepeatAutoreverses:

设置动画块中的动画效果是否自动重复播放。
+(void)setAnimationRepeatAutoreverses:(BOOL)repeatAutoreverses
参数
repeatAutoreverses
如果动画自动重复就是YES否则就是NO。
讨论
自动重复是当动画向前播放结束後再重头开始播放。使用setAnimationRepeatCount:类方法来指定动画自动重播的时间。如果重复数为0或者在动画块外那将没有任何效果。使用beginAnimations:context:类方法来开始一个动画块并用commitAnimations方法来结束一个动画块。默认值是NO。

setAnimationRepeatCount:

设置动画在动画模块中的重复次数
+ (void)setAnimationRepeatCount:(float)repeatCount
参数
repeatCount
动画重复的次数,这个值可以是分数。
讨论
这个属性在动画块外没有任何作用。使用beginAnimations:context:类方法来开始一个动画块并用commitAnimations类方法来结束。默认动画不循环。

setAnimationsEnabled:

设置是否激活动画
+ (void)setAnimationsEnabled:(BOOL)enabled
参数
enabled
如果是YES那就激活动画;否则就是NO
讨论
当动画参数没有被激活那么动画属性的改变将被忽略。默认动画是被激活的。

setAnimationStartDate:

设置在动画块内部动画属性改变的开始时间
+ (void)setAnimationStartDate:(NSDate *)startTime
参数
startTime
一个开始动画的时间
讨论
使用beginAnimations:context:类方法来开始一个动画块并用commitAnimations类方法来结束动画块。默认的开始时间值由CFAbsoluteTimeGetCurrent方法来返回。

 
setAnimationTransition:forView:cache:

在动画块中为视图设置过渡
+(void)setAnimationTransition:(UIViewAnimationTransition)transitionforView:(UIView *)view cache:(BOOL)cache
参数
transition
把一个过渡效果应用到视图中。可能的值定义在UIViewAnimationTransition中。
view
需要过渡的视图对象。
cache
如果是YES,那么在开始和结束图片视图渲染一次并在动画中创建帧;否则,视图将会在每一帧都渲染。例如缓存,你不需要在视图转变中不停的更新,你只需要等到转换完成再去更新视图。
讨论
如果你想要在转变过程中改变视图的外貌。举个例子,文件从一个视图到另一个视图,然後使用一个UIView子类的容器视图,如下:
1.Begin an animation block.
2.Set the transition on the container view.
3.Remove the subview from the container view.
4.Add the new subview to the container view.
5.Commit the animation block.
1.开始一个动画块。 2.在容器视图中设置转换。 3.在容器视图中移除子视图。 4.在容器视图中添加子视图。 5.结束动画块。

setAnimationWillStartSelector:

当动画开始时发送一条消息到动画代理
+ (void)setAnimationWillStartSelector:(SEL)selector
参数
selector
在动画开始前向动画代理发送消息。默认值是NULL。这个selector必须由和beginAnimations:context:方法相同的参数,一个任选的程序标识和内容。这些参数都可以是nil。
讨论
这个方法在动画块外没有任何作用。使用beginAnimations:context:类方法来开始一个动画块并用commitAnimations类方法来结束。


ios开发讨论QQ群:73254416!验证信息请填写:CSDN。


    
[2] 关于新浪微博与腾讯微博从Oauth1.0升级到Oauth2.0的历程
    来源: 互联网  发布时间: 2014-02-18
关于新浪微博与腾讯微博从Oauth1.0升级到Oauth2.0的过程


新浪微博

曾经@微博API 新浪那边表示 旧版的Oauth 1.0a将在不久的2012.9.1号停止。这个是一个很苦逼的消息。意味着涉及微博的都要修改。

Oauth2.0相比较于Oauth1.0的话  流程少了很多,其中一点就是签名。之前都是用signpost这个开源项目辅助。现在完全可以去掉了


好吧。废话不说了。 

新浪微博Oauth2.0认证的官方说明

http://open.weibo.com/wiki/Oauth2


简单步骤:1获取code 2获取accessToken 3使用accessToken访问api

新浪的这份授权机制还是比较详细。理解起来比较容易

接口 说明 OAuth2/authorize 请求用户授权Token OAuth2/access_token 获取授权过的Access Token OAuth2/get_oauth2_token  OAuth1.0的Access Token更换至OAuth2.0的Access Token

  步骤1http://open.weibo.com/wiki/Oauth2/authorize

获取code

请求参数   必选 类型及范围 说明 client_id true string 申请应用时分配的AppKey。 redirect_uri true string 授权回调地址,站外应用需与设置的回调地址一致,站内应用需填写canvas page的地址。 response_type false string 返回类型,支持code、token,默认值为code。 state false string 用于保持请求和回调的状态,在回调时,会在Query Parameter中回传该参数。 display false string 授权页面的终端类型,取值见下面的说明。


https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI

值得注意的是这边的redirect_uri  必须与   申请的应用那边设置(高级设置里面)的回调地址一致。否则就会出现 error:redirect_uri_mismatch.
这是网页载入授权界面,用户填完账号密码之后按下确定 服务器将返回一个“回调地址+code=xxxxx”的URL(如果是腾讯微博还有openid和openkey等等) 把code是步骤2的关键
步骤2 获取accessToken
API  https://api.weibo.com/oauth2/access_token
将code等参数 以POST传给服务器将返回
 {
       "access_token": "ACCESS_TOKEN",
       "expires_in": 1234,
       "remind_in":"798114",
       "uid":"12341234"
 }

这些数据都是要做数据持久化管理的。 腾讯微博返回稍有不同,但是并不影响
步骤3 访问API


研究中遇到的一些问题 1.腾讯微博    那群脑残的腾讯微博把appke和secret变成  ClientID和ClientSecret
oAuth.setClientId(StatcParame.T_CONSUMER_KEY);
oAuth.setClientSecret(StatcParame.T_CONSUMER_SECRET);
下面直接贴源码了
1 sina webview承载授权页面的设置

这个方法集合了sina和tencent的处理

这步走完就拿到ACCESSTOKEN了


下面贴个发布微博的方法


SINA发送一个带图片的微博



TENCent发送一条微博



源码之后上传。

联系 zhangnianxiang@gmail.com



    
[3] 增添search + home +back +menu 四个物理按键添加震动效果
    来源: 互联网  发布时间: 2014-02-18
添加search + home +back +menu 四个物理按键添加震动效果

在./frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java里面

将:

 if (down && (policyFlags & WindowManagerPolicy.FLAG_VIRTUAL) != 0 && event.getRepeatCount() == 0)

改为:

if (down && (keyCode ==  KeyEvent.KEYCODE_HOME || keyCode ==  KeyEvent.KEYCODE_BACK|| keyCode ==  KeyEvent.KEYCODE_MENU || keyCode ==  KeyEvent.KEYCODE_SEARCH) && event.getRepeatCount() == 0)

就实现了改功能。



    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3