小编Bat*_*gar的帖子

如何在animationDidStop委托中识别CAAnimation?

我遇到了一个问题,我有一系列重叠的CATransition/CAAnimation序列,所有这些都是我需要在动画停止时执行自定义操作,但我只需要一个dynamicDidStop的委托处理程序.

但是,我遇到了一个问题,似乎没有办法在animationDidStop委托中唯一标识每个CATransition/CAAnimation.

我通过作为CAAnimation的一部分公开的键/值系统解决了这个问题.

当您启动动画时,请使用CATransition/CAAnimation上的setValue方法设置在animationDidStop触发时使用的标识符和值:

-(void)volumeControlFadeToOrange
{   
    CATransition* volumeControlAnimation = [CATransition animation];
    [volumeControlAnimation setType:kCATransitionFade];
    [volumeControlAnimation setSubtype:kCATransitionFromTop];
    [volumeControlAnimation setDelegate:self];
    [volumeControlLevel setBackgroundImage:[UIImage imageNamed:@"SpecialVolume1.png"] forState:UIControlStateNormal];
    volumeControlLevel.enabled = true;
    [volumeControlAnimation setDuration:0.7];
    [volumeControlAnimation setValue:@"Special1" forKey:@"MyAnimationType"];
    [[volumeControlLevel layer] addAnimation:volumeControlAnimation forKey:nil];    
}

- (void)throbUp
{
    doThrobUp = true;

    CATransition *animation = [CATransition animation]; 
    [animation setType:kCATransitionFade];
    [animation setSubtype:kCATransitionFromTop];
    [animation setDelegate:self];
    [hearingAidHalo setBackgroundImage:[UIImage imageNamed:@"m13_grayglow.png"] forState:UIControlStateNormal];
    [animation setDuration:2.0];
    [animation setValue:@"Throb" forKey:@"MyAnimationType"];
    [[hearingAidHalo layer] addAnimation:animation forKey:nil];
}
Run Code Online (Sandbox Code Playgroud)

在animationDidStop委托中:

- (void)animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag{

    NSString* value = [theAnimation valueForKey:@"MyAnimationType"];
    if ([value isEqualToString:@"Throb"])
    {
       //... …
Run Code Online (Sandbox Code Playgroud)

iphone core-animation

102
推荐指数
5
解决办法
5万
查看次数

iPhone - 在应用程序中更改info.plist指向的应用程序图标?

有没有办法在代码中更改指向info.plist中的47x47 PNG,用于iPhone跳板图标?

我知道我可以通过每种语言更改的info.plist添加翻译并更改iPhone支持的每种语言的跳板图标,但我想根据应用程序中的用户偏好更改我的iPhone应用程序的跳板图标.

有任何想法吗?

我没有试过这个,但是可以在应用程序包中将文件复制到另一个文件吗?我可以发送指向"base.png"的info.plist,然后用代码中的我的应用程序将"base.png"替换为另一个PNG I包吗?

谢谢.

--Batgar

iphone bundle plist

6
推荐指数
1
解决办法
4394
查看次数

如何使用TFS进行iPhone开发?

我正在努力使用TFS作为iPhone开发的源代码库.

我的老板永远不会让我使用Subversion(或者上帝禁止Perforce),所以我坚持使用TFS源代码控制.

解决方案是去购买将Mac连接到TFS的工具,我不打算在这里做广告,但Mac OS X的Teamprise Client Suite是Mac OS X和TFS之间的桥梁.

对于标准签入和开发人员工作流程,Xcode和TFS之间没有集成.您必须通过Teamprise Explorer客户端手动完成所有操作.

对于构建,事实证明Automator和Teamprise命令行客户端可以解决问题.

那里有一些Xcode到TFS桥吗?您使用什么源代码控制系统进行iPhone开发?

对我而言,关键是嵌入在Automator工作流程中的以下bash脚本.

%1 =要执行代码拉取的本地文件夹.%2 =项目名称来执行拉动.

此脚本假定Teamprise命令行客户端已安装到〜/ Teamprise

PATH="$PATH:~/Teamprise:~/Teamprise/lib"

cd "$1"
mkdir "$1/logs"

tf workspace -delete BuildScript -server:http://TFSServer -login:uname@domain,password >> $1/logs/wsdelete1.log

tf workspace -new BuildScript -server:http://TFSServer -login:uname@domain,password >> $1/logs/wscreate.log

tf workfold -map "$/TFSRoot" . -workspace:BuildScript -server:http://TFSServer -login:uname@domain,password >> $1/logs/workfold.log

tf get "$/TFSRoot/$2" -all -recursive -server:http://TFSServer -login:uname@domain,password >> $1/logs/get.log

tf workspace -delete BuildScript -server:http://TFSServer -login:uname@domain,password >> $1/logs/wsdelete2.log

#pump the tfs landing folder to the next step in the Automator script. …
Run Code Online (Sandbox Code Playgroud)

iphone bash tfs teamprise

6
推荐指数
1
解决办法
6255
查看次数

标签 统计

iphone ×3

bash ×1

bundle ×1

core-animation ×1

plist ×1

teamprise ×1

tfs ×1