小编Sha*_*rky的帖子

以编程方式截取特定区域的屏幕截图

就像你在我的代码中看到的那样,我会截取屏幕截图并将其保存到相册中.

//for retina displays
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {
    UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, [UIScreen mainScreen].scale);
} else {
    UIGraphicsBeginImageContext(self.view.bounds.size);
}
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);
Run Code Online (Sandbox Code Playgroud)

一开始我使用webview.size而不是self.view.bounds.size它,它工作正常,因为视图位于0/0.但现在我将WebView集中在一起0/0,但图片是从给定大小开始的.

如何配置屏幕截图从另一个location(例如300/150)开始给定大小?

还是有另一种方式拍摄一张照片UIWebView吗?

screenshot objective-c area uiwebview

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

以编程方式单击navigationController的pushViewController的左侧按钮(后退按钮)

我想在第二个视图中以编程方式单击navigationBar中的后退按钮.这是这样称呼的:

Archiv *archiv = [[Archiv alloc] initWithNibName:@"Archiv" bundle:nil];
    archiv.title =  [NSString stringWithFormat:@"Archiv %@", [sender titleForState:UIControlStateNormal]];
    [self.navigationController pushViewController:archiv animated:YES];
Run Code Online (Sandbox Code Playgroud)

现在我在Archiv.m并且在特定事件之后我想回到第一个控制器(没有单击后退按钮) - 而是我想以编程方式执行单击.

这种情况有可能吗?

如果我单击此按钮,将有助于知道调用哪种方法,所以甚至不必执行单击.

xcode objective-c click button

4
推荐指数
1
解决办法
4054
查看次数

取消UIView动画块

下面的代码显示了一个标签动画,其中包含用户的状态消息.如果事件发生,标签显示提示,并通过uiview动画块慢慢消失.

- (void)showStatusOnLabelWithString:(NSString *)statusMessage
{   
    // [self.view.layer removeAllAnimations]; // not working
    [labelStatus.layer removeAllAnimations]; // not working, too

    [labelStatus setText:statusMessage];
    [labelStatus setHidden:NO];
    [labelStatus setAlpha:1.0];

    [UIView animateWithDuration:5.0 animations:^
     {
         [labelStatus setAlpha:0.0];

     } completion:^(BOOL finished) 
     {
         [labelStatus setHidden:YES];
         [labelStatus setAlpha:1.0];
     }];
}
Run Code Online (Sandbox Code Playgroud)

如果在第一个标签应该再次动画之后的下一个5s中有另一个事件,那么我删除了上一个动画[self.view.layer removeAllAnimations](这就是我的想法).但标签刚刚完全消失,接下来的5s标签再次看不见.

如果我(或用户)等待5s一切正常.

为什么这不起作用?

亲切的问候,$ h @ rky

block objective-c uiviewanimation

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