我想知道是否有任何方法来配置我们的MapKit地图,就像我们使用Google Maps API中的MapTypeStyle对象一样.
如果我引用Apple doc,MKMapView有一个mapType选项,它使MKMapType保持不变,但没有样式参数,如MapType,MapTypeStyle和MapTypeStyler,对于快速地图自定义非常强大.
所以我的问题是:有没有办法用MapKit框架实现类似的东西,如果没有,那么最好的框架/库是什么?我在想MapBox和类似的产品.
我正在实现一个应用程序,我的应用程序需要根据背景裁剪图像。我在文档扫描应用程序中看到了类似的行为,它们自动拾取图像边框进行裁剪。有人可以帮我弄清楚如何实现这一功能吗?
免责声明:我认为这可能是一个“Ask Different - Apple”问题,但他们让我回到SO。所以,如果这不属于,请让我知道在哪里询问。
更新:回应评论,这是我到目前为止所做的事情:
我的目标不是压缩,而是希望显示“自动裁剪”图像以AQGridview呈现更好的用户体验。根据我的应用程序的性质,它与收据扫描非常相似,因为主体可能仅在相对清晰的背景上占据图像的一小部分。希望它有助于澄清..
我一直在尝试大量不同的选项和技巧,以便从CIImage中正确构建UIImage.但是,每次我创建CIImage时,它的颜色似乎都是倒置的.
我最近的代码是:
NSURL *url = [[NSBundle mainBundle] URLForResource:@"C4Sky" withExtension:@"png"];
CIImage *c = [CIImage imageWithContentsOfURL:url];
UIImage *i = [UIImage imageWithCIImage:c];
UIImageView *uiiv = [[UIImageView alloc] initWithImage:i];
[self.canvas addSubview:uiiv];
Run Code Online (Sandbox Code Playgroud)
产生以下图像:

但是,构建这样的图像:
UIImage *i = [UIImage imageNamed:@"C4Sky"];
UIImageView *uiiv = [[UIImageView alloc] initWithImage:i];
[self.canvas addSubview:uiiv];
Run Code Online (Sandbox Code Playgroud)
...产生以下图像:

我尝试了很多不同的构建CIImage的方法.
这是否发生是因为iOS中CIImage的像素格式是ARGB?(看来这是iOS6上唯一可能的格式)
如果是这样,我如何交换像素格式让这个CIImage看起来正常?
我已经在git上创建了一个项目回购,显示了我尝试的所有主要不同方式(不包括每个方面的变体).有6种方法,前5种方法失败:
https://github.com/C4Code/CIImageTest
最后一种方法有效,但它真的很脏:
-(void)test6 {
UIImage *img = [UIImage imageNamed:@"C4Sky"];
CGContextRef bitmapContext = NULL;
void * bitmapData;
int bitmapByteCount;
int bitmapBytesPerRow;
CGSize size = img.size;
bitmapBytesPerRow = (size.width …Run Code Online (Sandbox Code Playgroud) 我用Google搜索过多的错误,但没有发现任何有用的信息.我正在使用以下代码获取在php中加密的文件:
mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $privateencryptkey, base64_encode(file), MCRYPT_MODE_CBC, $hardvector);
Run Code Online (Sandbox Code Playgroud)
我无法在IOS中解密它.我曾经尝试过很多库,比如NSDATA + CommonCrypto,NSFileManager-AES,NSDATA-aes,但我没有成功解密文件.
以下是使用的Objective-C代码:
- (NSData *)AESDecryptWithPassphrase:(NSString *)pass
{
NSMutableData *ret = [NSMutableData dataWithCapacity:[self length]];
unsigned long rk[RKLENGTH(KEYBITS)];
unsigned char key[KEYLENGTH(KEYBITS)];
const char *password = [pass UTF8String];
for (int i = 0; i < sizeof(key); i++)
key[i] = password != 0 ? *password++ : 0;
int nrounds = rijndaelSetupDecrypt(rk, key, KEYBITS);
unsigned char *srcBytes = (unsigned char *)[self bytes];
int index = 0;
while (index < [self length])
{
unsigned char plaintext[16];
unsigned char …Run Code Online (Sandbox Code Playgroud) 我正在为IOS5开发一款iPhone应用程序.我目前正在使用位于CoreLocation框架内的CLGeocoder类.在地理编码发生或同时发生后,我无法弄清楚最后是否调用了完成处理程序块.
我只知道完成处理程序块是在主线程上运行的.有没有人知道完成处理程序块是在地理编码完成时运行还是在地理编码器在另一个线程上执行时完成手头任务的代码?
我有一个UITableViewController,它有一个storyboard push segue,从原型单元格链接到一个详细页面,一个普通的旧UIViewController.在故事板中,细节ViewController具有标识符,并且segue具有与细节标识符相同的标识符,除了第一个字母是小写的.此外,细节ViewController AttractionDetailViewController在类下拉列表中选择了"自定义类"().
不行.问题是instantiateViewControllerWithIdentifier:@"AttractionDetails退货nil.
相关代码.首先是prepareForSegue调试器从未输入的方法.
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"attractionDetails"])
{
AttractionDetailViewController *attrDetailVC = [segue destinationViewController];
}
}
Run Code Online (Sandbox Code Playgroud)
相反,它进入这个方法:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//AttractionDetailViewController *attrDetailVC = [[AttractionDetailViewController alloc] init];
AttractionDetailViewController *attrDetailVC = [self.storyboard instantiateViewControllerWithIdentifier:@"AttractionDetails"];
NSIndexPath *selIndexPath = [self.tableView indexPathForSelectedRow];
attrDetailVC.theAttraction = [attractions objectAtIndex:indexPath.row];
[self.navigationController pushViewController:attrDetailVC animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
因为instantiateViewControllerWithIdentifier返回nil它当然会引发异常.真正有趣的是,如果我使用这alloc init条线,它可以工作,但屏幕全黑.
无论如何,我已经读过这个并尝试了一些不同的东西,我仍然受到阻碍.有没有人有什么建议?
这适用于我的开发环境,但是当我尝试使用Postgres通过Heroku运行时,我收到此错误.
2012-04-07T21:35:14+00:00 app[web.1]: ActiveRecord::StatementInvalid
(PG::Error: ERROR: operator does not exist: integer == integer
2012-04-07T21:35:14+00:00 app[web.1]: LINE 1: ...."value") AS avg_id FROM "datapoints"
WHERE (habit_id == 1)
2012-04-07T21:35:14+00:00 app[web.1]: HINT: No operator matches the given name and argument type(s).
You might need to add explicit type casts.
2012-04-07T21:35:14+00:00 app[web.1]: : SELECT AVG("datapoints"."value") AS avg_id FROM "datapoints
WHERE (habit_id == 1)):
Run Code Online (Sandbox Code Playgroud)
以下是我的控制器的代码行:
Datapoint.average(:value, :conditions => ['habit_id == ?', self.habit_id])
Run Code Online (Sandbox Code Playgroud)
我对rails很新,所以这很容易就是一个非常简单的错误 - 对我在这里做错了什么的想法?
我正在开发一个应用程序并尝试显示网页的一部分.
我的想法是第一个,获取页面源然后解析它!
我已经找到了一个有用的HTML解析器,但仍然在如何获取页面源?
我发现的只是UIWebview.就像是:
uiwebview = [[UIWebView loadRequest:[NSURLRequest requestWithURL:url]];
Run Code Online (Sandbox Code Playgroud) 在我的Xcode项目中,我在xib上放了一个标签.
我想连续淡入和淡出标签,直到用户点击屏幕.当发生这种情况时,我希望出现一个新视图.
任何人都可以建议如何进行淡入/淡出?
一点一串.使用以下代码时,我会不断收到Dead Store和潜在泄漏的通知(示例简化):
int x = 0;
NSString *aString = [NSString alloc]init]; <-- value store to 'aString' during its initialization is never read
if(x == 0)
{
aString = @"This is a string set by x being 0";
} else
{
aString = @"This is a string set by x being something else";
}
aTextLabelOutlet.text = aString;
[aString release];
<-- Potential leak of an object allocated online ... and stored into aString
Run Code Online (Sandbox Code Playgroud)
我真的不明白这一点.它被分配一次然后在使用后释放.它被初始化然后总是放入一些东西并且总是被读取.
它从未崩溃或实际上导致内存泄漏所以我有点困惑.
ios ×7
objective-c ×3
ios5 ×2
iphone ×2
ciimage ×1
clgeocoder ×1
core-image ×1
crop ×1
encryption ×1
google-maps ×1
heroku ×1
map ×1
mapkit ×1
memory-leaks ×1
postgresql ×1
storyboard ×1
uiimage ×1
uikit ×1
uiwebview ×1
xcode ×1
xcode4 ×1