小编Sam*_*cer的帖子

375
推荐指数
5
解决办法
19万
查看次数

如何解雇故事板Popover

UIBarButtonItem使用Xcode Storyboards 创建了一个popover (所以没有代码),如下所示:

带有Popover的Xcode 5.0 Connections Inspector

提出popover工作得很好.但是,当我点击它使它出现时,我无法让popover 消失UIBarButtonItem.

按下按钮(第一次)时会出现弹出窗口.当再次按下该按钮(第二次)时,它上面会出现相同的弹出窗口,所以现在我有两个弹出窗口(如果我继续按下按钮,则会有更多弹出窗口).根据iOS人机界面指南,我需要在第一次点击时显示弹出窗口并在第二次点击时消失:

确保一次只能在屏幕上看到一个弹出窗口.您不应同时显示多个弹出窗口(或设计为外观和行为的自定义视图).特别是,您应该避免同时显示级联或层次结构的弹出窗口,其中一个弹出窗口从另一个弹出窗口出现.

当用户UIBarButtonItem再次点击时,如何解除popover ?

objective-c uibarbuttonitem uipopovercontroller ios uistoryboard

73
推荐指数
2
解决办法
5万
查看次数

Mac应用程序的NSUserDefaults数据存储在哪里?

我正在使用NSUserDefaults在我的应用程序中存储一些数据.

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:@"dummy string" forKey:@"lastValue"];
[prefs synchronize];
Run Code Online (Sandbox Code Playgroud)

出于测试目的,我需要查看系统偏好设备plist文件,其中我的NSUserDefaults数据在Mac上保存.

我知道iOS应用程序用户默认存储的位置,但我不知道mac应用程序.Mac应用程序的NSUserDefaults数据存储在哪里?

macos cocoa objective-c plist nsuserdefaults

63
推荐指数
3
解决办法
3万
查看次数

IOS中的循环进度条

我想创建一个如下所示的循环进度条:

循环进度条

我怎么能用Objective-C和Cocoa做到这一点?

我是如何开始这样做的是创建一个UIView并编辑drawRect,但我有点迷失.任何帮助将不胜感激.

谢谢!

cocoa-touch objective-c ios4 ios5 ios6

55
推荐指数
6
解决办法
7万
查看次数

无法解雇MFMailComposeViewController,委托未调用

我打电话MFMailComposeViewControllerUITableViewController.问题是当我在"邮件撰写"窗口中选择" 取消"或" 发送"按钮时,从不调用委托方法:

mailComposeController:(MFMailComposeViewController*)controllerdidFinishWithResult 
Run Code Online (Sandbox Code Playgroud)

这是表视图类:

@implementation DetailsTableViewController
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    if (indexPath.section==0 && indexPath.row==4) {
        //SEND MAIL
        MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
        controller.mailComposeDelegate = self;
        if ([MFMailComposeViewController canSendMail]) {
            [controller setSubject:[NSString stringWithFormat:@"Ref %@",[item objectForKey:@"reference"]]];
            [controller setMessageBody:@" " isHTML:NO]; 
            [controller setToRecipients:[NSArray arrayWithObject:[item objectForKey:@"email"]]]; 
            [self presentModalViewController:controller animated:YES];
        }
        [controller release];       
    }
}

- (void)mailComposeController:(MFMailComposeViewController*)controllerdidFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {
    // NEVER REACHES THIS PLACE
    [self dismissModalViewControllerAnimated:YES];
    NSLog (@"mail finished");
}
Run Code Online (Sandbox Code Playgroud)

应用程序不会崩溃.按下"取消"或"发送"按钮后,"构建窗口"将停留在屏幕上并禁用按钮.我可以按Home键退出应用程序.

我可以打开TableView的其他模态视图,但不能打开MailCompose.

cocoa-touch objective-c ios mfmailcomposeviewcontroller

51
推荐指数
2
解决办法
2万
查看次数

对于iOS 11中的任务,HTTP加载失败(错误代码:-999 [1:89])

我正在使用URLSession来执行数据任务,当我在iOS 11上运行它时,我收到一个控制台错误:

HTTP load failed (error code: -999 [1:89]) for Task <68809C58-C6A7-4F10-86A4-81396D8B18CF>.<2>  
Run Code Online (Sandbox Code Playgroud)

有什么想法导致它,或如何解决它?

ios swift urlsession ios11

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

检测用户是否正在开车

注意:此问题最初是在Apple在iOS SDK中引入运动检测硬件和相关API之前发布的.然而,这个问题的答案仍然有用.


我正在创建一个iPhone iOS应用程序,它涉及跟踪用户的跑步和/或步行.用户跑步和走路的记录结果保持诚实非常重要.我需要一种方法来捕捉可能在使用汽车时作弊(或意外地离开跟踪器)的用户.

要检查如果用户驾驶或乘坐一辆车我首先想到这两项检查,但也不能真正确定该用户是在汽车或没有(一个点).

  1. 使用以下方法检查用户的当前速度.如果用户的行进速度超过20-ahh MPH,那么我可以假设用户在车内:

    - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
          CLLocation *recentLocation = [locations lastObject];
          recentLocation.speed; //If speed is over 20 MPH, assume the user is not on their feet.
    
    Run Code Online (Sandbox Code Playgroud)

    但是,我不确定这是否真的是一个很好的检查,因为人们的记录比以前更快.这是一个很好的检查还是我应该使用其他东西?

  2. 使用Core Motion Framework提供的Accelerometer和Motion API确定用户加速的速度.如果用户加速超过一定的速率,那么我可以假设用户正在车辆中行驶.

这些假设是否正确?我想我真正的问题是:有没有更好的方法来检测用户是否在车内移动 - 如果是这样的话?.如果没有,那么这些检查是否适用于这种情况,或者这对那些实际上那么快的用户来说是否会烦恼?CoreMotion是适当的API吗?


编辑:新的iPhone 5S M7协处理器提供更准确的运动检测.任何人都可以解释如何使用新的M7 API吗?

objective-c core-location ios core-motion apple-m7

33
推荐指数
2
解决办法
3万
查看次数

在目标c中将文件作为附件发送

我想通过从图像选择器中选择一个文件(图像)作为附件.我可以在iOS Objective-C中附加和邮寄文件(特别是图像)的适当方式是什么?

cocoa-touch objective-c ios

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

捆绑创建者OS类型代码??? 在Xcode 4中

我刚刚意识到我的iOS应用程序的值中的Bundle Creator操作系统类型代码Info.plist?????在Xcode 4中.应该是什么值?

xcode info.plist plist ios xcode4

30
推荐指数
3
解决办法
3万
查看次数

在Swift 3.0中打印数据的大小(兆字节)

我有一个Data类型的变量fileData,我很难找到如何打印这个的大小.

在过去的NSData中,您将打印长度,但无法使用此类型执行此操作.

如何在Swift 3.0中打印数据的大小?

nsdata ios swift swift3

27
推荐指数
6
解决办法
3万
查看次数