视差效果与UIScrollView子视图

我试图在UIScrollView内的UIView上创build一个视差效果。 效果似乎有效,但不太好。 首先,我将两个UIView子视图添加到UIScrollView并设置UIScrollViews contentSize。 视图总结并创build一个contentSize {320,1000}。 然后我在scrollViewDidScroll中实现了以下内容: – (void)scrollViewDidScroll:(UIScrollView *)scrollView { CGFloat offsetY = scrollView.contentOffset.y; CGFloat percentage = offsetY / scrollView.contentSize.height; NSLog(@"percent = %f", percentage); if (offsetY < 0) { firstView.center = CGPointMake(firstView.center.x, firstView.center.y – percentage * 10); } else if (offsetY > 0){ firstView.center = CGPointMake(firstView.center.x, firstView.center.y + percentage * 10); } } 这些代码行可以创build视差效果,但随着滚动的继续,如果我滚动到原始的起始位置,视图不会返回到原始位置。 […]

UIScrollView的高度和contentOffsetanimation从底部“跳”内容

试图做一些类似于Messages.app的行为,我有一个UIScrollView并在它下面的文本字段,并尝试进行animation处理,以便当键盘出现时,所有东西都移动到键盘上方使用一个约束,而且由于自动布局, UIScrollView的高度也会改变),同时设置contentOffset滚动到底部。 代码完成想要的最终结果,但是在animation的右侧,当键盘animation开始时,滚动视图变为空白,然后内容从底部向上滚动,而不是从animation开始时的位置滚动。 animation是这样的: – (void)updateKeyboardConstraint:(CGFloat)height animationDuration:(NSTimeInterval)duration { self.keyboardHeight.constant = -height; [self.view setNeedsUpdateConstraints]; [UIView animateWithDuration:duration delay:0 options:UIViewAnimationOptionBeginFromCurrentState animations:^{ [self.view layoutIfNeeded]; self.collectionView.contentOffset = CGPointMake(0, self.collectionView.contentSize.height – self.collectionView.bounds.size.height); } completion:nil]; } 这个问题的video可以在这里find 。 谢谢!

iPhone上的Safari有没有等同于Android的<meta name ='viewport'content ='target-densitydpi = device-dpi'>?

在设置meta name='viewport' content='target-densitydpi=device-dpi' ,Android浏览器和Opera Mobile会将CSS像素作为设备上的设备像素使用,而我的样式表不受干扰。 在iPhone上的Safari中是否有任何等效的function? 在我的移动友好,高DPI优化,媒体查询驱动的Web应用程序,我真的很感激,如果浏览器离开我的样式表单独。 (我的完整视口声明如下所示: meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no; target-densitydpi=device-dpi' )

我怎样才能得到Mimeinput不是基于扩展名的IOS

我们知道我们可以从文件的扩展名中得到文件的MIME TYPE,但并不完全一样,例如我们改变了文件的扩展名,我们将得到错误的MIMEtypes。 我们也知道在C#中使用文件签名来获取MIMEtypes的方式(使用使用.NET的urlmon.dll ,如何根据文件签名而不是扩展名find文件的MIMEtypes ,我的问题是我们如何才能在IOS中得到确切的mimetypes,无论文件的扩展名被某个人改变了,我们都能得到正确的mimetypes。 感谢您的关注〜!

在不使用桥接头的情况下访问专用UIKitfunction

考虑私人C函数_UICreateScreenUIImage ,它返回当前设备屏幕的UIImage快照: OBJC_EXTERN UIImage *_UICreateScreenUIImage(void) NS_RETURNS_RETAINED; 我可以把它放在一个桥接头文件中,像Swift一样访问它: MyApp的桥接,Header.h @import UIKit; UIImage *_UICreateScreenUIImage(void) NS_RETURNS_RETAINED; MyClass.swift let image = _UICreateScreenUIImage() print(image) // <UIImage: 0x7fc4ba6081c0>, {375, 667} 有没有一种方法,我可以访问_UICreateScreenUIImage纯Swift没有使用_UICreateScreenUIImage ? 最初的想法是在UIImage上创build一个扩展,但扩展期望我在扩展中声明函数的主体: extension UIImage { public func _UICreateScreenUIImage(_: Void) -> UIImage // "Expected '{' in body of function declaration" } 这个实现是有缺陷的,因为_UICreateScreenUIImage不是UIImage上的一个方法。 在纯Swift中暴露并访问这个方法是可能的吗? 人们似乎把我的问题与“我如何截图?”混淆。 那不是我要问的 我问如何访问方法像UIImage *_UICreateScreenUIImage(void); 在Swift中。 它可以是任何私有方法,例如+(UIImage *)_deviceSpecificImageNamed:(NSString *)name […]

如何使用Apple Map Kit实现地址的自动填写

我想自动完成用户的地址,就像google api在这个链接中提供的一样: https://developers.google.com/maps/documentation/javascript/places-autocomplete?hl=en 我如何使用苹果地图工具包实现相同的function? 我试图使用地理编码器,我写这个例如: @IBAction func SubmitGeoCode(sender: AnyObject) { let address = "1 Mart" let coder = CLGeocoder() coder.geocodeAddressString(address) { (placemarks, error) -> Void in for placemark in placemarks! { let lines = placemark.addressDictionary?["FormattedAddressLines"] as? [String] for addressline in lines! { print(addressline) } } } } 但结果非常令人失望。 任何苹果API可用于实现这样的function,或者我应该头谷歌API? 谢谢

检测音量button按下

没有调用音量button通知function。 码: func listenVolumeButton(){ // Option #1 NSNotificationCenter.defaultCenter().addObserver(self, selector: "volumeChanged:", name: "AVSystemController_SystemVolumeDidChangeNotification", object: nil) // Option #2 var audioSession = AVAudioSession() audioSession.setActive(true, error: nil) audioSession.addObserver(self, forKeyPath: "volumeChanged", options: NSKeyValueObservingOptions.New, context: nil) } override func observeValueForKeyPath(keyPath: String, ofObject object: AnyObject, change: [NSObject : AnyObject], context: UnsafeMutablePointer<Void>) { if keyPath == "volumeChanged"{ print("got in here") } } […]

是否可以使用通知回到IOS应用程序的主线程? (比较performSelectorOnMainThread)

是否可以使用通知回到IOS应用程序的主线程? (比较performSelectorOnMainThread)。 也就是说,有什么gottcha这个目的? 背景 想要从后台线程callback主UI线程(例如performSelectorInBackground) 可以使用performSelectorOnMainThread进行通信,但想知道是否可以使用通知? 例如 [[NSNotificationCenter defaultCenter] postNotificationName:@"ModelChanged" object:self];

在iOS中使用Swift捕获Javascript事件

我使用networking编程语言构build应用程序,并希望在用户单击HTMLbutton时启动相机。 由于我希望我的相机视图是一个自定义的,我需要用Swift来devise它。 所以当用户点击这个HTMLbutton时,我想在Swift中“捕捉”这个点击,这样我就可以开始我的本地相机视图。 我知道这可以用WKWebview来完成,但是我真的不知道该怎么做。 例如,我的Javascript(jQuery)代码可能看起来像这样: // User clicks to start the native camera with Swift $(".camera_button").click(function() { // Function to call the camera view from JS to Swift }); 你能帮我做这个吗? 谢谢。

AMAZON AWS我如何订阅端点到SNS主题?

我正在使用Amazon SNS和Amazon Cognito服务在iOS应用程序中实施推送通知。 Cognito成功保存令牌,我的应用程序得到通知,一切运作良好,但有一件事情。 现在,在开发过程中,我需要手动将端点添加到SNS主题,以便所有订阅者都可以收到通知。 当我将更新推向App Store时,将会添加数千个令牌。 我正在研究亚马逊AWS文档,但是没有线索可以在没有额外努力的情况下实现。 我的问题:是否有可能自动订阅端点到一个只有亚马逊服务的主题?