小编adi*_*dit的帖子

目标C中的长轮询

我有一个应用程序,它使用API​​在网站上获得实时更新.他们使用他们所谓的长轮询技术:

长轮询是传统轮询技术的变体,允许模拟从服务器到客户端的信息推送.通过长轮询,客户端以与普通轮询类似的方式从服务器请求信息.但是,如果服务器没有可用于客户端的任何信息,而不是发送空响应,则服务器保留请求并等待一些信息可用.一旦信息可用(或在适当的超时之后),就会向客户端发送完整的响应.然后,客户端通常会立即从服务器重新请求信息,这样服务器几乎总会有一个可用的等待请求,它可以用来传递数据以响应事件.在web/AJAX上下文中,长轮询也称为Comet编程.

长轮询本身不是推送技术,但可以在无法实现真正​​推动的情况下使用.

基本上,这会在您收到回复后强制将请求发回服务器.在iPhone应用程序中执行此操作的最佳方法是什么?这最终必须在后台运行.

iphone objective-c ipad

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

MKMapView当前位置显示为自定义引脚

我已经设置好我的MKMapView显示当前位置.我还为其他引脚实现了自定义引脚.然而,事实证明当前位置显示为自定义引脚,而我只是希望它是一个普通的蓝色圆圈(就像谷歌地图一样).

我在我的代码中定义了以下内容:

- (MKAnnotationView *) mapView: (MKMapView *) mapView viewForAnnotation: (id<MKAnnotation>) annotation MKAnnotationView *pin = (MKAnnotationView *) [self.mapView dequeueReusableAnnotationViewWithIdentifier: @"VoteSpotPin"];
    if (pin == nil)
    {
        pin = [[[MKAnnotationView alloc] initWithAnnotation: annotation reuseIdentifier: @"TestPin"] autorelease];
    }
    else
    {
        pin.annotation = annotation;
    }

    [pin setImage:[UIImage imageNamed:@"TestPin.png"]];
    pin.canShowCallout = YES;
    pin.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    return pin;
}
Run Code Online (Sandbox Code Playgroud)

如何防止当前位置显示为引脚?

iphone objective-c mkmapview ipad

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

来自app delegate的presentModalViewController

如何从app delegate的视图中呈现模态视图控制器,这是最顶级的?试图从UIView呈现一个模态视图控制器,这让我感到困惑.

iphone objective-c ipad ios

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

如何创建pinterest样式隐藏/取消隐藏导航/标签栏?

如何创建一个隐藏/取消隐藏的导航栏,如pinterest和许多其他应用程序正在做什么?我知道基本的想法是使用UIScrollView委托并检测我是否向上或向下滚动并显示基于该导航栏的导航栏.如果导航栏被隐藏,我还应该调整导航控制器视图高度吗?这是如何运作的?

iphone objective-c uinavigationcontroller ipad ios

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

android项目中的project.properties

我只是从github克隆了这个,当我尝试将它作为android项目导入eclipse时,它没有default.properties.为什么这样,我该如何处理?

java android

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

你如何覆盖UILabel的setFrame

我想覆盖setframe,以便它也使标签居中,但是做了类似的事情:

- (void)setFrame:(CGRect)frame 
{
    [self setFrame:frame};
    self.center = CGPointMake(self.superview.center.x, kNavigationBarFrameHeight/2);
}
Run Code Online (Sandbox Code Playgroud)

给了我一个无限循环.那我该怎么做?

iphone objective-c ipad ios

10
推荐指数
1
解决办法
5281
查看次数

设置UISegmentedControl的背景图像

所以我有以下代码来设置分段控件背景颜色:

UISegmentedControl * segmentedCtrl = [[UISegmentedControl alloc] initWithFrame:CGRectMake(0, 0, 150, 35)];
[segmentedCtrl setBackgroundImage:[UIImage imageNamed:@"btn-gradient-brown"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[segmentedCtrl setBackgroundImage:[UIImage imageNamed:@"btn-gradient-brown"] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];
[segmentedCtrl insertSegmentWithImage:[UIImage imageNamed:@"icon-home.png"] atIndex:0 animated:NO];
[segmentedCtrl insertSegmentWithImage:[UIImage imageNamed:@"icon-star.png"] atIndex:1 animated:NO];
Run Code Online (Sandbox Code Playgroud)

一切正常,但是当我点击片段时,我可以看到突出显示的蓝色按钮.如何禁用此突出显示?这是我的问题的截图:

在此输入图像描述

iphone objective-c uisegmentedcontrol ipad ios

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

我如何对UIImage进行去饱和处理?

在iOS 5.x中是否有一种简单的方法(或内置库)去饱和UIImage?这是我目前的做法:

CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSaveGState(context);

    CGContextTranslateCTM(context, 0.0, self.bounds.size.height); // flip image right side up
    CGContextScaleCTM(context, 1.0, -1.0);

    CGContextDrawImage(context, rect, self.image.CGImage);
    CGContextSetBlendMode(context, kCGBlendModeSaturation);
    CGContextClipToMask(context, self.bounds, image.CGImage); // restricts drawing to within alpha channel
    CGContextSetRGBFillColor(context, 0.0, 0.0, 0.0, desaturation);
    CGContextFillRect(context, rect);

    CGContextRestoreGState(context); // restore state to reset blend mode
Run Code Online (Sandbox Code Playgroud)

这似乎比我预期的要复杂一些.有比这更简单的方法吗?

我在想Core Image,但我似乎无法找到一个关于如何使用它去饱和图像的具体例子.

iphone core-graphics objective-c uiimage ios

10
推荐指数
1
解决办法
4144
查看次数

指向Objective-C指针的间接指针的强制转换

我有以下代码:

 OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)attrDictionary, (CFTypeRef *)&value);
Run Code Online (Sandbox Code Playgroud)

这导致错误:

Implicit conversion of an indirect pointer to an Objective-C pointer to 'CFTypeRef *' (aka 'const void **') is disallowed with ARC
Run Code Online (Sandbox Code Playgroud)

有关如何解决此问题的任何想法?我已经尝试过更改CFTypeRef *为a id *但它没有成功

这是完整的方法:

+ (NSData *)keychainValueForKey:(NSString *)key {
  if (key == nil) {
    return nil;
  }

  NSMutableDictionary *attrDictionary = [self attributesDictionaryForKey:key];

  // Only want one match
  [attrDictionary setObject:(id)kSecMatchLimitOne forKey:(id)kSecMatchLimit];

  // Only one value being searched only need a bool to tell us if it was …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c ipad ios

10
推荐指数
1
解决办法
6617
查看次数

使用bootstrap响应网格系统时如何为图像提供动态宽度和高度

我正在使用bootstrap的网格系统,这是我的网站.问题是,在初始加载时,项目卡看起来很糟糕,如下所示:

在此输入图像描述

这是加载后的样子:

在此输入图像描述

你可以看到问题是因为我没有提供图像的宽度和高度,因此在加载之前我看到这个奇怪的布局并不好.我没有提供宽度和高度的问题是因为这是响应性的,因此当我调整浏览器的宽度时,卡的宽度也会改变,因此提供恒定的宽度和高度不起作用.什么是最好的解决方案?

html css css3 twitter-bootstrap twitter-bootstrap-3

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