小编BOb*_*der的帖子

我还可以在iOS 6及更高版本中使用谷歌地图吗?

您可能知道Apple最近宣布推出iOS 6,并附带自己的新地图.我刚刚在新版iOS上运行我的应用程序,它在MKMapView新的Apple Maps中用作标准地图.它可能很棒,但我的应用程序依赖于谷歌地图,因为我使用他们的数据和路线.有什么方法我仍然可以使用谷歌地图而不是苹果自己的版本?

iphone google-maps objective-c mkmapview ios6

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

如何使用quickdialog实现滑动删除

我正在使用quickdialog作为表单,我正在尝试实现刷卡删除,并且不知道我将如何做到这一点.有谁能够帮我?

iphone objective-c swipe quickdialog

6
推荐指数
1
解决办法
446
查看次数

Facebook请求线程问题

好吧,我对线程有点新意,所以我有这个问题.我试图从Facebook获取朋友的信息,我不想在主线程上这样做.但由于某种原因,当请求不在主线程上时,回调永远不会被调用,我不知道为什么!

我有一个包含我朋友的所有ID的数组,并循环遍历这个数组,并创建一个自定义类Friend的对象(它获取我需要的所有信息)和每个ID.我将此对象添加到数组中.这个朋友对象向Facebook发出请求并处理响应以获取我想要的数据.

这是代码:

dispatch_async(dispatch_get_global_queue(0, 0), ^(void) {
            [self getFBFriendsInfo];
        }); 


 -(void)getFBFriendsInfo{

if (friendsInfoArray) {
    [friendsInfoArray removeAllObjects];
}
else{
    friendsInfoArray =[[NSMutableArray alloc]init];
}



for (int i=0; i<[UDID count]; i++) {
    NSString *udid = [UDID objectAtIndex:i];
    FriendsInfo *friend =[[FriendsInfo alloc] initWithFacebook:facebook andUdid:udid];
    [friendsInfoArray addObject:friend];
    [friend release];

}

dispatch_async(dispatch_get_main_queue(), ^(void) {
    [delegate friendsInfosAvailable:friendsInfoArray];
});
Run Code Online (Sandbox Code Playgroud)

}

在我的自定义类中我这样做:

[facebook requestWithGraphPath:udid andDelegate:self];
Run Code Online (Sandbox Code Playgroud)

有了这个回调从来没有被调用过!只有当我在主线程上执行请求时它才有效:

dispatch_async(dispatch_get_main_queue(), ^(void) {
    [facebook requestWithGraphPath:udid andDelegate:self];


});
Run Code Online (Sandbox Code Playgroud)

iphone multithreading facebook objective-c

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

在editmode中如何在UITableViewCell上暂停/禁用UILongPressGestureRecognizer

在tableview中,我在每个单元格上都有UILongPressGestureRecognizer这样的内容:

UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] 
                                          initWithTarget:self 
                                          action:@selector(TableCellLongPressed:)];
longPress.minimumPressDuration = 0.5f;
[cell addGestureRecognizer:longPress];
[longPress release];
Run Code Online (Sandbox Code Playgroud)

现在我确实有以下问题我希望用户能够重新排列tableview中的单元格,所以我有一个按钮,将tableView设置为EditMode,如下所示:

[self.myTableView setEditing:!self.myTableView.editing animated:YES];
Run Code Online (Sandbox Code Playgroud)

现在当用户试图拖动一个单元并且没有将它拖得足够远时,longPress会激活他的动作,这对用户来说非常烦人,导致另一个视图被推动.如何暂停或禁用UILongPressGestureRecognizertableView在EditMode中的时间?

iphone uitableview uigesturerecognizer long-press

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

目标C中的动态对象属性名称

我正在尝试使用动态名称访问对象的属性...这可能吗?

喜欢在javascript中:

var foo = 'bar';
appr.templates[foo];
Run Code Online (Sandbox Code Playgroud)

想法是访问 appr.templates.bar

iphone cocoa-touch objective-c key-value-coding

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

MKMapView隐藏导航栏,就像在照片应用程序中一样,不会丢失MKMapView的功能

我想隐藏并显示导航栏,如照片应用程序中的那个,但不会丢失MKMapView的功能.用户应该仍然可以双击缩放,捏合和缩放,并能够选择注释.

我尝试过:

 UITapGestureRecognizer* tapRec = [[UITapGestureRecognizer alloc] 
                                  initWithTarget:self action:@selector(hideBar:)];
[self.myMKMapView addGestureRecognizer:tapRec];
[tapRec release];
Run Code Online (Sandbox Code Playgroud)

但是,用户不能再选择注释了!它也隐藏了双击.

有任何想法吗 ?

iphone tap objective-c uinavigationbar mkmapview

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

消息发送到解除分配的实例!找不到错误

好吧,我正在寻找这个错误,因为2个小时,我只是想弄清楚,请帮助我.我有以下情况我有2个viewcontroller.一个将另一个呈现为类似的模态.

SearchViewController *searchViewController = [[SearchViewController alloc]init];
[searchViewController setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
searchViewController.delegate = self;
searchViewController.senderTag = [sender tag];
[self presentModalViewController:searchViewController animated:YES];
[searchViewController release];
Run Code Online (Sandbox Code Playgroud)

在我的searchviewcontroller中,我在.h文件中执行此操作

BSKmlResult *selectedAirport;
@property (nonatomic, retain) BSKmlResult *selectedAirport;
Run Code Online (Sandbox Code Playgroud)

在.m文件中我合成它,然后像那样设置它

selectedAirport = [self.airportList objectAtIndex:indexPath.row];
Run Code Online (Sandbox Code Playgroud)

然后在这里发布

- (void)dealloc {
  [selectedAirport release];
  [super dealloc];
}
Run Code Online (Sandbox Code Playgroud)

在我的SearchViewController的委托方法中,它在第一个viewcontroller中实现,我也提供了SearchViewController我有以下内容

if (controller.selectedAirport) {
            if (departureAirport) {
                [departureAirport release];
            }

        departureAirport = [controller.selectedAirport copy];
}

[self dismissModalViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)

我缩小了错误发生的位置,它位于我的SearchViewController [selectedAirport release]的dealloc中;

但我无法弄清楚我的错误在哪里请帮助

iphone objective-c release-management

0
推荐指数
1
解决办法
328
查看次数

添加叠加到MKMapView快!这甚至可能吗?

嗨,我有以下问题!我在我的MKMapView中添加了很多叠加层!例如,我添加了150个叠加层,但由于某些原因,并非所有叠加层都显示出来!我知道mapView:viewForOverlay:被召唤150次.我发现如果我将其添加到:[NSThread sleepForTimeInterval:1]创建所有叠加层的方法中,所有叠加层都会显示出来.那么叠加是否会被快速添加?或者可能是什么问题?

所有叠加都是在这样的后台线程中创建的!

MKPolyline* routeLine;
....
....
dispatch_async(dispatch_get_main_queue(), ^{

    [self.myMKMapView addOverlay:routeLine];

});
Run Code Online (Sandbox Code Playgroud)

这就是 mapView:viewForOverlay:

 - (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay
{
    MKOverlayView* overlayView = nil;

    MKPolylineView * rLV = [[[MKPolylineView alloc] initWithPolyline:overlay]autorelease];

    rLV.fillColor = [UIColor blueColor];
    rLV.strokeColor = [UIColor blueColor];
    rLV.lineWidth = 1;
    rLV.alpha =  0.5;

    overlayView = rLV;

    return overlayView;
}
Run Code Online (Sandbox Code Playgroud)

iphone overlay objective-c mkmapview mkoverlay

0
推荐指数
1
解决办法
1467
查看次数