小编Seg*_*gev的帖子

无法从通知中心删除推送通知

[[UIApplication sharedApplication] cancelAllLocalNotifications];
[[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0];'
Run Code Online (Sandbox Code Playgroud)

我添加了上面的代码didfinishLaunchingWithOptions但是当用户在他的通知中心点击通知并进入我的应用程序时,通知不会被清除.

编辑:

我也尝试将其添加到我的代码中:

application:didReceiveRemoteNotification:如果您尝试从消息中心清除消息,则还需要递增然后递减方法中的徽章, 以便当用户通过按通知向您输入应用时,消息中心也将清除,即:

[[UIApplication sharedApplication] setApplicationIconBadgeNumber: 1];
[[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0];
[[UIApplication sharedApplication] cancelAllLocalNotifications];  
Run Code Online (Sandbox Code Playgroud)

如下所述:iOS应用程序:如何清除通知?但通知仍然无法从通知中心清除

cocoa objective-c ios

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

无法使用其他类的reloadData

我有2个类,classA和classB在classA中我有一个tableview可以按需工作和刷新.所有的代表和数据源都很好,还有一个属性@property (nonatomic, retain) UITableView *myTableView;

我不想放入reloadDataclassA的viewDidAppear或viewWillAppear.我想[myTable reloadData]从classB开火.

谢谢

cocoa cocoa-touch objective-c ios

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

从视频中提取最后一个UIImage帧

我正在使用下一个代码从视频中提取最后一帧:

- (UIImage *)thumbnailFromVideoAtURL:(NSURL *)url
{
    AVAsset *asset = [AVAsset assetWithURL:url];

    CMTime thumbnailTime = [asset duration];
    NSLog(@"value: %lld",thumbnailTime.value); //1650
    NSLog(@"timescale: %d",thumbnailTime.timescale); //1000
    AVAssetImageGenerator *imageGenerator = [[AVAssetImageGenerator alloc] initWithAsset:asset];    
    CGImageRef imageRef = [imageGenerator copyCGImageAtTime:thumbnailTime actualTime:NULL error:NULL];
    UIImage *thumbnail = [UIImage imageWithCGImage:imageRef];
    CGImageRelease(imageRef);

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

代码和CMTime看起来很好(这是一个1.65秒的视频),但我仍然回到视频的第一帧(它是一个mov文件).如果我在较长的视频上尝试上面的代码,我会从视频中间获得一个帧,或者一个接近结尾的帧,但不是最后一帧.

知道问题是什么?

  • 我试图避免使用像ffmpeg这样的东西.

谢谢

objective-c ios avasset

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

在XCode 4.5.2中,界面中没有定义auto @ synthesize-ing属性

有没有办法让他们回来?我正在关注一些视频教程,其中将文本字段拖动到h文件会在m文件中创建属性和@synthesize.在xcode 4.5.2中,不会创建@synthesize.任何的想法?

谢谢

xcode

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

index使用objectsAtIndexes设置超出边界

我不明白发生了什么.如你所见,我有一个包含107个对象的数组.当我尝试将10个对象从它复制到另一个数组时,我得到了这个错误.(如果我输入像3,8这样的数字它会正常工作)

    int count = [myJson count];
    NSLog(@"count: %d",count);
    resultsArray = [myJson objectsAtIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(60, 70)]];
Run Code Online (Sandbox Code Playgroud)

...

[53269:11303] count: 107
[53269:11303] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSArray objectsAtIndexes:]: index 129 in index set beyond bounds [0 .. 106]'
Run Code Online (Sandbox Code Playgroud)

objective-c nsarray ios

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

从容器视图中推送 ViewController 会将其视图框架更改为原始大小

我创建了与我添加的图片类似的东西。我已使用 Ctrl+拖动连接UIButton到子视图 2ViewController并选择推送转场。(图片显示自定义转场,请忽略它)

我的问题是,当我点击按钮时,新的按钮ViewController是全尺寸的(覆盖整个屏幕)

如何强制它保持与原始容器相同的大小?

编辑:

从答案中我发现在新的导航控制器中嵌入 VC B 确实会强制 VC C 被推入更小的尺寸,我想了解为什么我不能使用原始的导航控制器。做同样的事情

xcode cocoa-touch objective-c ioc-container ios

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

快速枚举循环 - 是否有计数器?

在常规for循环中,我可以i用作for循环中的计数器.我怎么知道上面的计数?

for(int i=0;i<[someArray count];i++)
{
   bla = [arrayExample objectAtIndex:i];
}

for(id someObject in someArray)
    {
       bla = [arrayExample objectAtIndex:??];
    }
Run Code Online (Sandbox Code Playgroud)

objective-c ios

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

从URL加载后淡入UIButton图像

我正在使用AFNetworking方法将我的图像加载到UIBUttons中.我的目标是在加载后用淡入淡出的动画显示图像.

     [leftBtn setImageWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:leftImageUrl]] placeholderImage:nil forState:UIControlStateNormal success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
                 [UIView animateWithDuration:0.4 animations:^() {leftBtn.alpha = 1;}completion:^(BOOL finished){}];
            } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
                //
            }];

Capturing 'leftBtn' strongly in this block is likely to lead to a retain cycle
Run Code Online (Sandbox Code Playgroud)

我理解为什么我得到上述警告并寻找一种聪明的方法来解决它.谢谢

objective-c ios afnetworking

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

在目标c中无法理解二传手和吸气剂

我正在通过一些在线教程学习目标c,我有一个问题.在这个视频:http://www.youtube.com/watch?v = Nb9-1rRjO_8&feature = player_detailpage#t = 367s你可以看到我在这里写的代码:

@synthesize width, height; //setters and getters

-(void) setWH:(int) w:(int) h{
    width = w;
    height = h
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么他写了一个setHW方法,如果他已经使用@synthesize获得了宽度和高度的setter和getter.我错过了什么?

谢谢

getter setter objective-c

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

for循环中的方法只被调用一次?

我想我错过了一些非常基本的东西,但无论如何我都会冒险:).我正在使用for循环将不同的htmls加载到UIWebView.当html完成加载时,我想对它做一些无关紧要的事情并继续前进.由于某种原因webViewDidFinishLoad,只在for循环的过程结束时调用一次,即使我在htmlArray中有20个对象,我也想弄清楚方法.

有任何创造性的解决方法吗?

谢谢

    for(int i=0;i<[_htmlArray count];i++)
        {
            msg = [_htmlArray objectAtIndex:i];
            [_tempWebView loadHTMLString:msg baseURL:nil];
        }
}
Run Code Online (Sandbox Code Playgroud)

...

- (void)webViewDidFinishLoad:(UIWebView *)webView {

    [self doSomeStuff:webView]; // <--only called once

    NSLog(@"didFinish Snip Snap: %@; stillLoading:%@", [[webView request]URL],
          (webView.loading?@"NO":@"YES"));
}
Run Code Online (Sandbox Code Playgroud)

objective-c uiwebview ios

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

仅在第二次调用startUpdatingLocation后获取当前位置

{
...
locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    locationManager.desiredAccuracy = kCLLocationAccuracyBest;
}

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {

        NSLog(@"myLocation1: %@",[locations lastObject]);
        myLocation = [locations lastObject];
        NSLog(@"myLocation2: %@",[locations lastObject]);
        [manager stopUpdatingLocation];

        [self doSomethingWithLocation];    
}
Run Code Online (Sandbox Code Playgroud)

目前我在40.000,40.000的位置.我正在关闭我的应用并将位置更改为10.000,10.000

再次进入应用程序并运行[locationManager startUpdatingLocation];我的日志将显示:

myLocation1: <+40.00000000,+40.00000000>
myLocation2: <+40.00000000,+40.00000000>
Run Code Online (Sandbox Code Playgroud)

如果我[locationManager startUpdatingLocation];再次触发,我的日志将显示:

myLocation1: <+10.00000000,+10.00000000>
myLocation2: <+10.00000000,+10.00000000>
Run Code Online (Sandbox Code Playgroud)

如何拨打didUpdateLocations一次并仍然获取当前位置?我应该使用其他代表吗?

我想我可以把它放在stopUpdatingLocation里面doSomethingWithLocation并在doSomethingWithLocation经过某种延迟之后运行,以便更新正确的位置,但我确信这不是它的意思.

谢谢

objective-c core-location ios

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

"方法调用的参数太多,预期为1,有2个",但实际上只有1个

这段代码工作正常:

NSString *titleForMail =[NSString stringWithFormat:@"text %@",_infoTFProduct.text];
        [mailCont setSubject:titleForMail];
Run Code Online (Sandbox Code Playgroud)

虽然这段代码给了我上面的错误.

[mailCont setSubject:@"yo! %@", _infoTFProduct.text];
Run Code Online (Sandbox Code Playgroud)

我很想知道为什么.

截图

cocoa-touch objective-c ios

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