我试图淡化UIView作为我主视图的子视图.我试图淡入的UIView的尺寸为320x55.
我设置了视图和计时器;
secondView.frame = CGRectMake(0, 361, 320, 55);
secondView.alpha = 0.0;
[self.view addSubview:secondView];
[NSTimer scheduledTimerWithTimeInterval:.5 target:self selector:@selector(fadeView) userInfo:NO repeats:NO];
Run Code Online (Sandbox Code Playgroud)
计时器触发以下代码;
secondView.alpha = 1.0;
CABasicAnimation *fadeInAnimation;
fadeInAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
fadeInAnimation.duration = 1.5;
fadeInAnimation.fromValue = [NSNumber numberWithFloat:0.0];
fadeInAnimation.toValue = [NSNumber numberWithFloat:1.0];
[fadeInAnimation setDelegate:self];
[secondView.layer addAnimation:fadeInAnimation forKey:@"animateOpacity"];
Run Code Online (Sandbox Code Playgroud)
我的第二个视图在Interface Builder中连接并响应其他消息但我看不到屏幕上发生的任何事情.
谁能帮助我弄清楚这里发生了什么?
谢谢,瑞奇.
在回复以下建议时:
我在这里有点不确定.最初我把这段代码放进去(因为我看到secondView作为UIView的一个实例?):
[secondView beginAnimations:nil context:NULL];
[secondView setAnimationDuration:0.5];
[secondView setAlpha:1.0];
[secondView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
然后我尝试了你的建议,它没有产生警告或错误,但它仍然没有带来任何表面:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
[secondView setAlpha:1.0];
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
谢谢!瑞奇.
我有一个NSImage,我试图像这样调整大小;
NSImage *capturePreviewFill = [[NSImage alloc] initWithData:previewData];
NSSize newSize;
newSize.height = 160;
newSize.width = 120;
[capturePreviewFill setScalesWhenResized:YES];
[capturePreviewFill setSize:newSize];
NSData *resizedPreviewData = [capturePreviewFill TIFFRepresentation];
resizedCaptureImageBitmapRep = [[NSBitmapImageRep alloc] initWithData:resizedPreviewData];
saveData = [resizedCaptureImageBitmapRep representationUsingType:NSJPEGFileType properties:nil];
[saveData writeToFile:@"/Users/ricky/Desktop/Photo.jpg" atomically:YES];
Run Code Online (Sandbox Code Playgroud)
我的第一个问题是,当我尝试调整大小并且不符合宽高比时,我的图像会被压扁.我读到使用-setScalesWhenResized会解决这个问题,但事实并非如此.
我的第二个问题是,当我尝试将图像写入文件时,图像实际上根本没有调整大小.
提前谢谢,瑞奇.