小编avm*_*cio的帖子

如果我缩放图片WPF,AdornerLayer会走出Border

我创建了一个逻辑,用于裁剪包含在网格内部边框内的图像.网格有很多边框,所以这个网格会有很多图片.问题是,当我缩放图片时,逻辑会缩放图片(这没关系)但是当我使用裁剪逻辑时,它AdornerLayer会像图片一样走出边框:图像使用裁剪选择器进行缩放

在这张图片上,pic没有缩放,所以这AdornerLayer是正确的:在此输入图像描述

我用来将裁剪添加到图像的代码:

private void AddCropToElement(FrameworkElement fel, System.Drawing.Image img)
{
    if (!cropElements.ContainsKey(Convert.ToString(((Image)fel).Source)))
    {
        if (_felCur != null)
        {
            RemoveCropFromCur();
        }

        rcInterior = new Rect(
            fel.ActualWidth * 0.2,
            fel.ActualHeight * 0.2,
            fel.ActualWidth * 0.6,
            fel.ActualHeight * 0.6);
        rectMoving = false;
        Rect newRect = scaleRect(rcInterior, img);
        imgCropMove = img;

        AdornerLayer aly = AdornerLayer.GetAdornerLayer(fel);
        _clp = new CroppingAdorner(fel, rcInterior);
        aly.Add(_clp);
        cropElements.Add(Convert.ToString(((Image)fel).Source), fel);

        imageCropped = _clp.Crop(new System.Drawing.Bitmap(img), newRect);


        _clp.CropChanged += HandleCropChanged;
        _felCur = fel;
    }
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,名为fel的对象是我要裁剪的图片,而Border是他的父级.

如果图像被缩放,我如何解决AdornerLayout外出的问题?

c# wpf border crop adornerlayer

18
推荐指数
1
解决办法
976
查看次数

使用Objective-C的Mac OS X守护进程 - launchd

我是Mac OS X世界的新手,但我有Windows开发技能.

我需要开发一个从Web服务上传/下载文件的守护进程(在Windows上将是Windows服务).

我的问题是:是否有可能创建一个用Objective-C编写的应用程序,它将成为守护进程(上传/下载)并在操作系统开始使用launchd时启动它?或者还有另一种创建守护进程的方法?

谢谢

macos objective-c launchd launch-daemon

11
推荐指数
1
解决办法
3229
查看次数

Mac OS X代理上同步请求的随机错误

在MacOS上,我们有一个实现ARC的代理,它将根据用户的设置每10或15秒向服务器发出一些请求,并且在将近一年的时间内没有任何问题,几周前应用程序崩溃了在一台具有错误访问错误的计算机中,特别是在此行上:

[NSURLConnection sendSynchronousRequest:request returningResponse:&responseCode error:&error];
Run Code Online (Sandbox Code Playgroud)

导致问题的机器的Mac OS X版本是10.7.5,但是在具有相同OS版本的其他计算机中工作正常.

我们正在使用同步请求,因为这是我们需要做的工作,但是我们花了一些时间使调用异步,但问题仍然存在.

因此,在查看其他帖子后,我们添加了一个缓存策略:[request setCachePolicy:NSURLRequestReloadIgnoringCacheData]; 避免缓存请求的任何问题.应用程序确实运行得更好,但在15到20次迭代之间崩溃之前,通常会在1500到1800次迭代(30-40分钟)之间崩溃.

通过查看堆栈溢出中的另一个问题,我们尝试使用ASIHTTPRequest修复此问题,但问题再次发生(它可能会在迭代#2或#123x ......中崩溃).

在出现错误之前,请求始终正常工作,我们正在获取数据并能够正常使用它.

启用NSZombieEnabled选项后,当应用程序崩溃时,我们没有收到任何消息,因为错误指向上面的特定行,因此try/catch块对我们不起作用;

[NSURLConnection sendSynchronousRequest:request returningResponse:&responseCode error:&error]
Run Code Online (Sandbox Code Playgroud)

这是我们使用NSURLConnection发出请求的代码:

   NSMutableURLRequest *request = [[NSMutableURLRequest alloc]
   init]; [request setHTTPMethod:@"GET"]; [request setURL:[NSURL
   URLWithString:url]]; [request setTimeoutInterval: TIMEOUT];
   [request setCachePolicy: NSURLRequestReloadIgnoringCacheData];

    NSString *authenticationHeader = [NSString
    stringWithFormat:@"Basic %@", credentials]; [request
    addValue:authenticationHeader
    forHTTPHeaderField:@"Authorization"];

    NSError *error = nil; NSHTTPURLResponse *responseCode = nil;

    NSData *responseData = nil; responseData = [NSURLConnection
    sendSynchronousRequest:request returningResponse:&responseCode
    error:&error];

    if([responseCode statusCode] != 200){ *hasError =[NSString
    stringWithFormat: @"Error getting %@, HTTP status code %li", …
Run Code Online (Sandbox Code Playgroud)

macos objective-c nsurlconnection

11
推荐指数
1
解决办法
233
查看次数

UIWebView使用NSUrlProtocol Xamarin.Forms缓慢加载

我正在使用Xamarin.Forms处理iOS应用程序.

此应用程序使用UIWebView控制器,显示托管在我的服务器上的Web应用程序.每次我发出请求时,我都必须发送一个自定义标头,以便识别此请求来自移动应用程序,而不是来自浏览器,为此,我使用NSUrlProtocol对象覆盖方法请求插入每个请求的自定义标头.这是我的代码:

    public override NSUrlRequest Request {
        get {
            NSMutableDictionary headers = null;
            if (null == base.Request.Headers) {
                headers = new NSMutableDictionary ();
            } else {
                headers = new NSMutableDictionary (base.Request.Headers);
            }
            headers.Add(NSObject.FromObject(AppVariables.headerVariable), NSObject.FromObject (AppVariables.appVersion));
            NSMutableUrlRequest newRequest = (NSMutableUrlRequest)base.Request.MutableCopy ();
            newRequest.Headers = headers;
            return newRequest;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我现在遇到的问题是我注意到自从我开始使用NSUrlProtocol后,页面的加载时间增加了很多.现在加载需要10秒,在此实现之前,页面大约需要3秒钟.

任何人都可以指出一些有用的方向来克服这个?

uiwebview nsurlprotocol ios xamarin xamarin.forms

11
推荐指数
1
解决办法
468
查看次数

TLS 1.1/1.2支持Xamarin.Android

现在我正在使用Xamarin.Forms开发一个应用程序.我遇到了TLS协议的问题.

我的应用程序使用API​​.由于安全原因,API使用HTTPS.本周我们决定取消TLS 1.0的支持,只接受服务器端的TLS 1.1和1.2,但是在我们做了这个改变后,我注意到我的应用程序停止了工作.

在调试时我注意到API的调用引发了异常(我正在使用来自.Net的HttpClient类).通过在互联网上搜索解决方案,我看到许多人认为问题与TLS支持有关.

我在Android和iOS上使用名为ModernHTTPClient的插件解决了这个问题,但我的一位客户报告说,他在Android上运行的设备上仍然存在问题(他正在运行Android 4.2设备).

检查Android文档我看到这个版本有支持但是默认情况下没有启用,而困难的部分是互联网上没有太多关于如何激活它的文档.

关于如何激活这个的任何建议?Xamarin.Android是否对TLS 1.1及以上版本有本机支持?

谢谢

httpclient xamarin.android xamarin.forms tls1.2

9
推荐指数
1
解决办法
1070
查看次数

iPhone个性化表圆角桌

我没有太多的iphone屏幕设计经验,但我需要制作一个这样的表:(图像),我做了一个调查,但我没有找到任何东西.这个表需要有一个圆角,用户将能够插入数据,在这种情况下,名字,姓氏等...现在我正在使用SDK 4.3.如果有人有教程我会很感激

谢谢,

可编辑的圆角桌

iphone uitableview iphone-sdk-4.3

8
推荐指数
1
解决办法
813
查看次数

使用带凭证的UNC路径

我正在开发一个使用UNC路径访问同一LAN中的远程文件的应用程序.问题是,当尝试访问时,它会抛出与Windows凭据相关的异常.

有没有办法将凭证添加到我的UNC路径?

谢谢

.net c# windows .net-4.0

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

按标签栏和按钮导航屏幕

我有以下问题:

在我的应用程序中,有两种方法可以导航到其他屏幕:按钮或标签栏.

所有屏幕都有调用其他屏幕的标签栏,但主屏幕是有按钮但没有标签栏的主屏幕.

当我开始开发我的应用程序时,我选择标签栏应用程序模板,如果我通过按下选项卡调用屏幕,它可以正常工作.当我使用主屏幕时,问题就开始了:

  • 我需要在这个特定的屏幕中"隐藏"标签栏.
  • 在主屏幕中,如果我通过按钮调用新屏幕,则标签栏会在新屏幕中消失(因为屏幕是通过按钮调用而不是通过标签栏调用).

为了解决这个问题,我想也许我可以创建一个自定义标签栏(我还不知道如何),并在我的屏幕上像UIControl一样调用它,所以这样,如果我需要更改标签栏,修改将是能够调用该控件的所有屏幕.

您有什么推荐的吗?创建一个自定义标签栏并像UIControl一样使用它是个好主意?如果是的话,我该怎么创建一个呢?

我用它来调用windows

RecurringGiftListViewController *listViewController = [[RecurringGiftListViewController alloc] initWithNibName:@"RecurringGiftListViewController" bundle:nil];
listViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
[self presentModalViewController:listViewController animated:YES]; 
[listViewController release];
Run Code Online (Sandbox Code Playgroud)

xcode uitabbaritem uitabbar ios4 ios

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