小编The*_*ude的帖子

UITextView动画更改框架不会动画文本重新分配

我有一个UITextView,我试图在用户点击按钮时动画帧的更改.基本上,文本视图变得更大以适应屏幕,因此它可以显示更多文本,然后当用户再次点击按钮时,它缩小到其原始帧.

我使用块执行动画,如下所示:

if(!isDisplayingDetailView)
{
    //Expand view
    [UIView animateWithDuration:0.5
                     animations:^{
                         self.detailView.frame = self.view.frame;
                     }
                     completion:^(BOOL finished){
                         isDisplayingDetailView = YES;
                     }];
}
else{
    //Shrink view.
    [UIView animateWithDuration:0.5
                     animations:^{
                         self.detailView.frame = self.detailFrame;
                         }
                     completion:^(BOOL finished){
                         isDisplayingDetailView = NO;
                     }];
}
Run Code Online (Sandbox Code Playgroud)

self.detailView是UITextView,self.detailFrame只是一个保存原始帧的CGRect.isDisplayingDetailView只是一个BOOL,用于检查视图是否展开.我的问题是文本调整大小不是动画.我从测试应用程序中制作了一些截图来说明我的问题:应用程序默认视图: 默认视图

展开的视图:

扩大了视野

点按按钮后的文字视图:

缩小观点

正如您所看到的,文本会自动缩小到最终的帧大小,而没有任何类型的动画,而边界仍然是动画.我想这是正确的行为,但我想知道是否可以为文本和它的视图设置动画.

uitextview uiviewanimation ios

7
推荐指数
1
解决办法
1956
查看次数

CALayer动画和颜色混合

我正在使用CAShapeLayer生成一些形状.实际上我有4个CAShapeLayers代表屏幕中的一些三角形.我使用CGMutablePathRef创建形状并设置每个CAShapeLayer的path属性.三角形在不同的形状层中,因为我必须以不同的方式为每个三角形设置动画.

我使用CABasicAnimation在我的viewcontroller上执行一些动画,并动画化CAShapeLayer的path属性,如:

CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@”path”];
animation.duration = 2.0;
animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
animation.repeatCount = 1e100f;
animation.autoreverses = YES;
animation.fromValue = (id)initialPath;
animation.toValue = (id)newPath;
[shapeLayer addAnimation:animation forKey:@”animatePath”];
Run Code Online (Sandbox Code Playgroud)

没关系,我可以绘制形状并为它们制作动画.我的问题是,这使用默认的alpha混合(result =(alpha*foreground)+(1 - alpha)*background)混合图像.我想要的是使用乘法混合(kCGBlendModeMultiply),但我不知道如何混合CAShapeLayer绘图和混合模式.我已成功绘制我的形状创建自定义UIView并覆盖drawRect方法,但后来我无法为形状设置动画.

有没有人有成功改变CAShapeLayer的颜色混合?

core-animation core-graphics ios

5
推荐指数
0
解决办法
974
查看次数

检测iOS上的亮度变化是用户操作还是自动操作

我已经看到我可以通过注册为观察者来检测屏幕亮度的变化 UIScreenBrightnessDidChangeNotification

- (void)viewDidLoad
{
    [super viewDidLoad];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(brightnessDidChange:) name:UIScreenBrightnessDidChangeNotification object:nil];
}

-(void) brightnessDidChange:(NSNotification*)notification
{
    NSLog(@"Brightness did change");
}
Run Code Online (Sandbox Code Playgroud)

通知的object属性是一个UIScreen对象.

我试图找到一个属性,让我知道该操作是由用户生成的,还是由iOS生成的自动更改.这对我的应用程序非常重要,因为两种情况都应该区别对待.我在文档中没有找到任何相关内容.任何帮助将不胜感激.

brightness ios

3
推荐指数
3
解决办法
1629
查看次数

如何使用Xcode 4.2和故事板使用"页面控制"?

我正在尝试学习iOS编程的基础知识,我想知道如何使用Xcode 4.2和故事板进行页面控制?我订阅了MyCodeTeacher.com,页面控制器上的课程已经过时,不适用于新的Xcode.我无法通过谷歌找到一个教程,Apple文档也没有帮助.有人能指点我一个好的教程或给我一个基本的例子吗?

非常感谢!

iphone objective-c ipad ios

2
推荐指数
1
解决办法
1万
查看次数