Tag: ios

如何在iOS中使用图片caching整个网页

我正在iOS上处理图像文字混合页面。 我知道我可以使用UIWebView来实现目标。 但问题是,用户可能需要离线阅读页面。 对于文本部分,我可以将html保存到磁盘并在离线模式下加载。 但是如何图像? 是否有可能将图像caching到磁盘和UIWebView仍然可以显示它们? 谢谢!

在Xcode中使用GPX来模拟位置变化时,有没有办法控制速度?

我在Xcode 4.2中使用以下GPX文件来模拟位置更改。 它运作良好,但我无法控制位置变化的速度。 邮票似乎不工作。 有没有人有这个解决scheme? <?xml version="1.0"?> <gpx version="1.1" creator="Xcode"> <wpt lat="37.331705" lon="-122.030237"></wpt> <wpt lat="37.331705" lon="-122.030337"></wpt> <wpt lat="37.331705" lon="-122.030437"></wpt> <wpt lat="37.331705" lon="-122.030537"></wpt> </gpx>

如何禁用AFNetworkingcaching

是否可以禁用AFNetworking的所有cachingfunction? 我正在构build自己的自定义caching系统,不希望它占用磁盘空间。 谢谢,阿什利

获取iPad应用程序的启动方向

在我的iPad应用程序中,我需要运行一些布局代码来根据方向设置正确的布局。 默认情况下,布局是针对横向configuration的,所以在应用程序以纵向模式启动的情况下,我需要采取额外的操作来正确configuration纵向显示的视图。 在我的应用程序-application:didFinishLaunchingWithOptions:方法中,我使用[[UIDevice currentDevice] orientation]检查[[UIDevice currentDevice] orientation] 。 这里的问题是,即使应用程序在横向启动,它总是返回肖像。 有没有办法解决?

以编程方式设置约束

我正在试验如何使用UIScrollView。 经过很多麻烦,我终于得到了它的挂钩。 但现在我似乎又遇到了另一个障碍。 在这个简单的应用程序,我有一个滚动视图,为了它的工作,我必须设置视图的底部空间滚动视图约束为0,如这里所述,它工作正常。 我正在通过IB来完成。 现在我遇到了一个场景,我必须通过编程来完成这个部分。 我在viewDidLoad方法中添加了下面的代码。 NSLayoutConstraint *bottomSpaceConstraint = [NSLayoutConstraint constraintWithItem:self.view attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.scrollView attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0.0]; [self.view addConstraint:bottomSpaceConstraint]; 但似乎没有工作。 它在控制台窗口中输出以下消息,我不知道该怎么做。 无法同时满足约束。 下面列表中的至less一个约束可能是你不想要的。 试试这个:(1)看看每一个约束,试图找出你不期望的; (2)find添加不需要的约束或约束的代码并修复它。 (注意:如果你看到你不明白的NSAutoresizingMaskLayoutConstraints,请参阅UIView属性的文档translatesAutoresizingMaskIntoConstraints)(“”,“”) 有人可以告诉我如何做到这一点? 我还附加了一个演示项目,以便您可以更好地了解这个问题。 更新: 首先谢谢你的回应。 使用答案中提到的方式,我能够得到它的工作。 然而,略有不同的情况下,它不是。 现在我试图以编程方式将视图加载到viewcontroller。 如果我可以进一步解释。 有2个视图控制器。 第一个是UITableViewController ,第二个是UIViewController 。 里面有一个UIScrollView 。 另外还有多个UIView ,其中一些视图的高度超出了屏幕的正常高度。 UITableViewController显示一个选项列表。 根据用户的select,一个特定的UIView将被加载到带有UIScrollView的UIViewController 。 在这种情况下,上述方法不起作用。 滚动没有发生。 我是否需要单独加载视图才能做一些不同的事情? 我已经在这里上传了一个演示项目,这样你就可以看到它的实际运行。 请参阅Email.xib并从表格视图列表中select电子邮件 。

推送通知不在iOS 10上收到,但在iOS 9和之前的版本上

我有几个在Swift 2.2中编写的应用程序,使用Xcode 7.3进行编译,并且在App Store上运行。 这些应用程序利用推送通知,并在iOS 9.3及更早版本中正常工作。 但是,在已升级到iOS 10的设备上,我的应用程序不会收到任何推送通知。 仍在运行iOS 9的设备仍在接收通知。 认为这可能是一个证书或权利问题,我已经尝试了以下:升级我的应用程序Swift 2.3,添加了APS环境权利,并编译在Xcode 8,但这没有什么区别。 在我的AppDelegate我仍然有现有的方法注册推送通知,其中包括: let notificationSettings = UIUserNotificationSettings(forTypes: [.Badge, .Sound, .Alert], categories:nil) application.registerUserNotificationSettings(notificationSettings) 即使在iOS 10上,这个注册似乎也是成功的,因为应用程序didRegisterForRemoteNotificationsWithDeviceToken然后被调用,所以我从APNS接收一个令牌。 问题是,当我发送一个推送通知到这个设备, 应用didReceiveRemoteNotification永远不会被调用。 现在, 这里说,UIApplicationDelegate上的方法已被弃用在iOS 10上,我应该实现userNotificationCenter( :didReceive : withCompletionHandler :)和userNotificationCenter( :willPresent: withCompletionHandler 🙂 问题是,我不是只针对iOS 10.我仍然需要应用程序在iOS 8和9上工作,所以我怀疑这是实现这些方法的正确方法。 如何获取现有应用程序的推送通知,以继续在已升级到iOS 10的设备上工作? 我是否需要重写代码? 我是否需要更新一些证书或授权,并在Xcode 8中用一些“新”设置重新编译?

GM发布的Xcode 6编译

我刚刚下载了Xcode 6的GM版本,它不会编译这个错误: Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1 有想法该怎么解决这个吗?

UITableViewCell,具有dynamic高度的UITextView

我需要制作一个拥有大量文本的UITableViewCell 。 我知道我可以添加一个UITextView到我的单元格,但每个条目将不会有相同数量的文本。 我知道我可以控制UITableViewCell的高度: -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath ,但那不是我正在寻找的。 情况1: ————— | First Cell | ————— ————— | Second Cell | | with some | | text. | ————— ————— | Third Cell | ————— 情景2: ————— | First Cell | ————— ————— | Second Cell | | with some | | more text and […]

获取蓝牙低功耗外设的MAC地址

我目前正在开发基于蓝牙低功耗设备的iOS应用程序。 为了获得唯一的标识符来比较获得的外设,我必须得到外设的MAC地址。 据观察,外围设备的UUID属性在iOS设备之间有所不同,并且为了获得UUID,外围设备也必须至less连接到主设备一次。 由于我不得不处理登机手续,我不想build立连接。 当我通过蓝牙服务门户网站时,发现设备信息本身就是一项服务,除非主iOS设备和外设蓝牙低功耗设备之间已build立连接,否则无法检索到该服务。 我发现在Android中我们获取设备的全部信息,包括其MAC地址(使用getAddress()),当我们从设备获取自己的响应时。 我没有发现与设备地址相关的CBPeripheral类中的任何属性。 获得唯一参数的另一种方法是定制广告数据以发送关于设备的附加信息,这在固件方面需要更多的工作。 那么在iOS中有什么办法可以在不build立连接的情况下获得蓝牙低功耗外设的MAC地址? 任何帮助将不胜感激。

iOS故事板传递数据navigationViewController

我在视图之间正确的传递数据有问题,但没有标准的方式。 描述我的问题的图片: 我使用两个segue标识符之一执行SegueWithIdentifier,然后我想将数据传递给ViewController,名为“Firmy”或“Oddzialy”。 通过数据代码: – (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([[segue identifier] isEqualToString:@"sLogowanieFirmy"]) { FirmyVC *firmyVC = [segue destinationViewController]; firmyVC.tabFirmy = self.tabFirmy; } if ([[segue identifier] isEqualToString:@"sLogowanieOddzialy"]) { OddzialyVC *oddzialyVC = [segue destinationViewController]; oddzialyVC.wybranaFirma = [self.tabFirmy objectAtIndex:0]; } } 问题是用方法[segue destinationViewController] becouse destinationViewController for segue是NavigationViewController。 那么传递数据和独立导航控制器的正确方法是什么?