我有一个应用程序,它使用API在网站上获得实时更新.他们使用他们所谓的长轮询技术:
长轮询是传统轮询技术的变体,允许模拟从服务器到客户端的信息推送.通过长轮询,客户端以与普通轮询类似的方式从服务器请求信息.但是,如果服务器没有可用于客户端的任何信息,而不是发送空响应,则服务器保留请求并等待一些信息可用.一旦信息可用(或在适当的超时之后),就会向客户端发送完整的响应.然后,客户端通常会立即从服务器重新请求信息,这样服务器几乎总会有一个可用的等待请求,它可以用来传递数据以响应事件.在web/AJAX上下文中,长轮询也称为Comet编程.
长轮询本身不是推送技术,但可以在无法实现真正推动的情况下使用.
基本上,这会在您收到回复后强制将请求发回服务器.在iPhone应用程序中执行此操作的最佳方法是什么?这最终必须在后台运行.
我已经设置好我的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)
如何防止当前位置显示为引脚?
如何从app delegate的视图中呈现模态视图控制器,这是最顶级的?试图从UIView呈现一个模态视图控制器,这让我感到困惑.
如何创建一个隐藏/取消隐藏的导航栏,如pinterest和许多其他应用程序正在做什么?我知道基本的想法是使用UIScrollView委托并检测我是否向上或向下滚动并显示基于该导航栏的导航栏.如果导航栏被隐藏,我还应该调整导航控制器视图高度吗?这是如何运作的?
我只是从github克隆了这个,当我尝试将它作为android项目导入eclipse时,它没有default.properties.为什么这样,我该如何处理?
我想覆盖setframe,以便它也使标签居中,但是做了类似的事情:
- (void)setFrame:(CGRect)frame
{
[self setFrame:frame};
self.center = CGPointMake(self.superview.center.x, kNavigationBarFrameHeight/2);
}
Run Code Online (Sandbox Code Playgroud)
给了我一个无限循环.那我该怎么做?
所以我有以下代码来设置分段控件背景颜色:
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)
一切正常,但是当我点击片段时,我可以看到突出显示的蓝色按钮.如何禁用此突出显示?这是我的问题的截图:
在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,但我似乎无法找到一个关于如何使用它去饱和图像的具体例子.
我有以下代码:
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) 我正在使用bootstrap的网格系统,这是我的网站.问题是,在初始加载时,项目卡看起来很糟糕,如下所示:
这是加载后的样子:
你可以看到问题是因为我没有提供图像的宽度和高度,因此在加载之前我看到这个奇怪的布局并不好.我没有提供宽度和高度的问题是因为这是响应性的,因此当我调整浏览器的宽度时,卡的宽度也会改变,因此提供恒定的宽度和高度不起作用.什么是最好的解决方案?