小编Gre*_*tic的帖子

Objective-C中的模运算符返回错误的结果

当我在Objective-C中进行模运算时,我得到的结果让我有点吓坏了.-1%3现在是-1,这不是正确的答案:根据我的理解,它应该是2. -2%3出现-2,这也是不对的:它应该是1.

除了%运算符之外,我还应该使用另一种方法来获得正确的结果吗?

math objective-c modulo

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

当键盘出现时,UIPopoverController在iOS 7上奇怪地移动

我有一个UIPopoverController,里面有一个文本字段.在iOS 6上,当用户点击文本字段并且弹出窗口恰好妨碍键盘在屏幕上滑动时,弹出窗口会很好地移动.

在iOS 7上,它飞到屏幕的边缘.这太荒谬了.

这只是iOS 7中的一个错误吗?有没有办法在iOS 7中控制以前不存在的这种行为?

谢谢.

uipopovercontroller ios7

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

在iPhone OS上检测文件创建日期?

我打算编写一些代码,其逻辑基于在我的应用程序的Documents文件夹中测试特定文件的创建日期.事实证明,当我调用 - [NSFileManager attributesOfItemAtPath:error:]时,NSFileCreationDate不是提供的属性之一.

有没有办法发现文件的创建日期?

谢谢.

iphone cocoa-touch objective-c nsfilemanager ios

7
推荐指数
2
解决办法
4998
查看次数

如何实现UIViewController旋转以响应方向更改?

我的应用程序有大约10个不同的UIViewControllers,其中一个我想在旋转设备时切换到横向模式.(其余的,我想保持肖像.)

为了在那个视图上实现旋转,我需要实现其控制器的'shouldAutorotate'方法并返回YES.由于这个视图是通过导航控制器访问的,我还需要创建一个UINavigationController的子类,它实现'shouldAutorotate'并返回YES.

这个解决方案很有效,但也很好.我发现我推到UINavigationController的子类上的所有UIViewControllers都会响应旋转,即使我实现'shouldAutorotate'并返回NO.(记住:我只希望一个特定的UIViewController响应旋转,而不是导航控制器堆栈中的每一个.)

所以,我的问题是:我该如何做到最好?我能提出的所有解决方案似乎都很麻烦,2)更糟糕,似乎没有用.

非常感谢.

iphone uiviewcontroller screen-orientation

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

iOS:我应该为动画添加UIViews还是CALayers?

假设我想在视图中添加50个图像以便为它们制作动画.让我们假设我正在计划使用Core Animation(例如,CABasicAnimation)而不是"UIView"动画.

我最好通过添加50个子视图或50个子图层来实现这一点吗?这有什么不同吗?

谢谢.

core-animation calayer uiview caanimation ios

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

显示模态视图时,iPhone状态栏会消失吗?

我想显示一个模态视图,并希望它覆盖iPhone的状态栏.

我尝试将模态视图控制器的wantsFullScreenLayout属性设置为YES; 我还将其父级属性设置为YES.这不起作用,大概是因为模态视图显示在主窗口的内容下面,其中包括状态栏.

我的第二种方法放弃了整个"wantsFullScreenLayout"技术,有利于在显示模态视图之前隐藏状态栏,然后在取消模态视图后将其重新打开.这工作直到最后......模态视图的父视图布局不正确(其导航栏部分隐藏在状态栏后面.)调用 - [view setNeedsLayout]什么都不做.

我该如何处理这个问题?

谢谢.

iphone modal-dialog fullscreen statusbar

6
推荐指数
2
解决办法
7515
查看次数

iOS AirPlay:我的应用程序仅在镜像开启时通知外部显示器?

我正在尝试在我的应用中启用AirPlay支持.我不是在做视频; 我想将外部显示器用作"第二显示器".

这是我的问题:如果我从AirPlay按钮选择"AppleTV",我的应用程序不会收到通知.我的应用程序获得通知的唯一一次是当我离开我的应用程序时,转到操作系统级别的AirPlay按钮,在那里选择"AppleTV"并打开镜像.如果我关闭镜像,我的应用程序会被告知外部显示器已经消失.

所以:

  1. 当我从我的应用程序中选择外部显示器时,为什么我的应用程序不会收到通知?
  2. 当我开启镜像时,为什么我的应用会收到有关外部显示器存在的通知...而不是之前?我显然误解了一些东西,但是看起来像镜像应该通知我的应用程序外部显示器已经消失(而不是现在可用,因为操作系统现在应该使用外部显示器进行镜像.)

代码示例如下.在此先感谢您的帮助!

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

     // Override point for customization after application launch.

     // Is there already an external screen?
     if (UIScreen.screens.count > 1)]
     {
          [self prepareExternalScreen:UIScreen.screens.lastObject];
     }

     // Tell us when an external screen is added or removed.
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(externalScreenDidConnect:) name:UIScreenDidConnectNotification object:nil];
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(externalScreenDidDisconnect:) name:UIScreenDidDisconnectNotification object:nil];

     self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
     self.window.rootViewController = self.viewController;

     // Add AirPlay control to …
Run Code Online (Sandbox Code Playgroud)

ios airplay

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

UIPopoverPresentationControllerDelegate方法仅在用户解雇时调用

弹出窗口最大的问题之一是如何在用户解除弹出窗口时调用委托的解除方法(-[popoverPresentationControllerShouldDismissPopover:],-[popoverPresentationControllerDidDismissPopover:]),而不是以编程方式解除弹出窗口.

我的解雇方法中有很多重要的代码需要被调用.是否有一个优雅的解决方案,以确保即使在程序解雇时也会调用此代码?(当然,每当我解雇时,我都可以称之为"应该"和"做"......但这很容易出错,而且有点粗暴.)

谢谢.

uipopovercontroller ios8

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

如何在运行时确定CloudKit环境?

是否有一种编程方式来发现我的应用是否与CloudKit开发或生产环境进行通信?

(我知道我可以查看com.apple.developer.icloud-container-environmentEntitlements.plist 中的键来进行智能猜测,但这并不能真正证明 - 我正在使用哪种环境.)

ios cloudkit cloudkit-environments

6
推荐指数
2
解决办法
294
查看次数

在iPhone地址簿中查找某人的"工作"电子邮件地址?

有没有办法从iPhone地址簿中找到某个人的特定电子邮件地址?我知道如何获取一个人的所有电子邮件地址,而不是如何识别它是什么类型的电子邮件地址("家庭","工作"等)......也不是(这可能更可取),一种直接访问该地址而无需遍历所有地址的方法.

谢谢.

email iphone addressbook

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