[[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应用程序:如何清除通知?但通知仍然无法从通知中心清除
我有2个类,classA和classB在classA中我有一个tableview可以按需工作和刷新.所有的代表和数据源都很好,还有一个属性@property (nonatomic, retain) UITableView *myTableView;
我不想放入reloadDataclassA的viewDidAppear或viewWillAppear.我想[myTable reloadData]从classB开火.
谢谢
我正在使用下一个代码从视频中提取最后一帧:
- (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文件).如果我在较长的视频上尝试上面的代码,我会从视频中间获得一个帧,或者一个接近结尾的帧,但不是最后一帧.
知道问题是什么?
谢谢
有没有办法让他们回来?我正在关注一些视频教程,其中将文本字段拖动到h文件会在m文件中创建属性和@synthesize.在xcode 4.5.2中,不会创建@synthesize.任何的想法?
谢谢
我不明白发生了什么.如你所见,我有一个包含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) 我创建了与我添加的图片类似的东西。我已使用 Ctrl+拖动连接UIButton到子视图 2ViewController并选择推送转场。(图片显示自定义转场,请忽略它)
我的问题是,当我点击按钮时,新的按钮ViewController是全尺寸的(覆盖整个屏幕)
如何强制它保持与原始容器相同的大小?
编辑:
从答案中我发现在新的导航控制器中嵌入 VC B 确实会强制 VC C 被推入更小的尺寸,我想了解为什么我不能使用原始的导航控制器。做同样的事情
在常规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) 我正在使用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)
我理解为什么我得到上述警告并寻找一种聪明的方法来解决它.谢谢
我正在通过一些在线教程学习目标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.我错过了什么?
谢谢
我想我错过了一些非常基本的东西,但无论如何我都会冒险:).我正在使用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) {
...
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经过某种延迟之后运行,以便更新正确的位置,但我确信这不是它的意思.
谢谢
这段代码工作正常:
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)
我很想知道为什么.

objective-c ×11
ios ×10
cocoa-touch ×3
cocoa ×2
xcode ×2
afnetworking ×1
avasset ×1
getter ×1
nsarray ×1
setter ×1
uiwebview ×1