小编May*_*yur的帖子

iphone - 防止uiscrollview通过触摸滚动

我有一个滚动视图,两边都有左右两个按钮.

当我点击滚动视图将向左移动,当单击右键时,它将向右移动.我的滚动视图有20个按钮(大约),点击每个按钮执行一些操作.

一切都完美实施,工作正常.

我唯一无法实现的是阻止触摸滚动.我不希望用户手动滚动滚动视图.如何防止它通过触摸滚动并仍然能够单击滚动视图内的按钮?

iphone objective-c uiscrollview

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

Apache:编辑.conf文件会产生"无效命令'标题'"

在Magento CE中,我想安装一个名为Lightening Cache的Extendware Page Cache附加组件.

它需要通过添加以下内容编辑站点的虚拟主机定义中的Apache配置:

RewriteEngine On
RewriteMap ewpchash prg:/home/.../shell/extendware/ewpagecache/apache/md5.php

RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{REQUEST_URI} !\.(js|css|png|jpg|jpeg|ico|gif)$ [NC]
RewriteCond %{DOCUMENT_ROOT}%{SCRIPT_FILENAME} !-f
RewriteCond ${ewpchash:%{HTTPS};~;%{HTTP_HOST};~;%{REQUEST_URI};~;%{QUERY_STRING};~;%{HTTP:Cookie};~;%{SCRIPT_FILENAME};~;%{REMOTE_ADDR};~;%{HTTP_USER_AGENT}} -f
RewriteRule ^(.*)$ ${ewpchash:%{HTTPS};~;%{HTTP_HOST};~;%{REQUEST_URI};~;%{QUERY_STRING};~;%{HTTP:Cookie};~;%{SCRIPT_FILENAME};~;%{REMOTE_ADDR};~;%{HTTP_USER_AGENT}} [NC,L]
<FilesMatch "\.(html)$">
     Header unset Cache-Control
     Header unset Expires
     Header append Expires "Thu, 19 Nov 1981 08:52:00 GMT"
     Header append Cache-Control "must-revalidate"
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

我已将此添加到/etc/apache2/sites-enabled/site.conf的底部

当我运行命令"apachectl graceful"时,我收到错误:

AH00526:/etc/apache2/sites-enabled/site.conf第53行的语法错误:无效的命令'Header',可能拼写错误或由服务器配置中未包含的模块定义操作'graceful'失败.Apache错误日志可能包含更多信息.

网站正在运行Apache 2.4

我做错了什么吗?

apache rewrite magento

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

iOS Firebase推送通知:如何提供Firebase用户的设备令牌和发送通知

最近在谷歌I/O活动中谷歌重新装修了Firebase并增加了许多新功能,并触及了其余的功能.我一直在尝试通过Firebase将iOS推送通知实现到我的应用程序中,通过最基本的级别,所以我创建了一个非常简单的应用程序除了接收远程推送通知之外什么都不做.

在Firebase内部,我上传了我的证书,在Xcode中,我的配置文件已添加到目标和项目中,而在Firebase中我已上传了正确的证书.下面是我的AppDelegate.swift文件中包含的代码,但因为我ViewController.swift的"空",我没有包含它.

虽然没有崩溃或运行时错误,但当我加载应用程序时,我接受通知.然后,我退出应用程序并关闭我的设备.在Firebase中,我将通知发送到正确的应用.几分钟后,在Firebase中,它说通知是"已完成".

但是,我从未收到过设备上的通知.因此,总之,我需要一个解决方案来发送Firebase deviceToken,然后使用"Firebase Notifications"发送推送通知消息.

我的代码或一般的任何帮助将不胜感激,我希望这有助于未来的观众.谢谢!我的代码在AppDelegate.swift:

import UIKit
import Firebase
import FirebaseMessaging

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

        FIRApp.configure()

        let notificationTypes : UIUserNotificationType = [UIUserNotificationType.Alert, UIUserNotificationType.Badge, UIUserNotificationType.Sound]

        let notificationSettings = UIUserNotificationSettings(forTypes: notificationTypes, categories: nil)

        application.registerForRemoteNotifications()
        application.registerUserNotificationSettings(notificationSettings)

        return true
    }

    func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {

        print("Device Token: \(deviceToken)")

    }

    func applicationWillResignActive(application: UIApplication) {

    }

    func applicationDidEnterBackground(application: UIApplication) { …
Run Code Online (Sandbox Code Playgroud)

push-notification ios firebase

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

在ARSCNView Aspect中加载大型3d Object .scn文件适合屏幕ARKIT Swift iOS

我正在使用3D模型开发ARKit应用程序。为此,我使用了3D模型并添加了用于移动,旋转和缩放3D模型的手势。

现在我只面临1个问题,但是我不确定这个问题与什么有关。3d模型是否存在问题,或者我的程序中是否缺少任何内容。

问题是我正在使用的3D模型显示得很大并且超出了屏幕。我正在尝试缩小尺寸,但尺寸很大。

这是我的代码:

@IBOutlet var mySceneView: ARSCNView!
var selectedNode = SCNNode()
var prevLoc = CGPoint()
var touchCount : Int = 0

override func viewDidLoad() {
    super.viewDidLoad()
    self.lblTitle.text = self.sceneTitle
    let mySCN = SCNScene.init(named: "art.scnassets/\(self.sceneImagename).scn")!
    self.mySceneView.scene = mySCN

    let cameraNode = SCNNode()
    cameraNode.camera = SCNCamera()
    cameraNode.position = SCNVector3Make(0, 0, 0)
    self.mySceneView.scene.rootNode.addChildNode(cameraNode)
    self.mySceneView.allowsCameraControl = true
    self.mySceneView.autoenablesDefaultLighting = true

    let tapGesture = UITapGestureRecognizer(target: self, action: #selector(detailPage.doHandleTap(_:)))
    let panGesture = UIPanGestureRecognizer(target: self, action: #selector(detailPage.doHandlePan(_:)))
    let gesturesArray = NSMutableArray()
    gesturesArray.add(tapGesture)
    gesturesArray.add(panGesture)
    gesturesArray.addObjects(from: self.mySceneView.gestureRecognizers!)
    self.mySceneView.gestureRecognizers …
Run Code Online (Sandbox Code Playgroud)

augmented-reality ios swift scnnode arkit

13
推荐指数
2
解决办法
246
查看次数

在iOS中从Facebook获取用户详细信息

我是iPhone开发的新手.我正在做一个用户通过Facebook登录2的应用程序,一旦他提交了他的凭据并点击登录按钮,我必须从Facebook获取诸如名字,电子邮件和性别的详细信息,并且在获取用户之后必须被定向到应用程序的注册页面填写了详细信息,我需要这个应用程序兼容iPhone 4,4s和5.

我尝试使用Facebook Graph API做到这一点,但无法得到它,所以任何人都可以帮助我.

提前致谢.

iphone facebook objective-c ios

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

INSERT和COPY之间的区别

根据文档,

使用COPY加载大量行总是比使用INSERT快,即使使用PREPARE并且多个插入被批处理到单个事务中也是如此.

为什么COPY比INSERT更快(多次插入被分批到单个事务中)?

postgresql bulkinsert

10
推荐指数
1
解决办法
4069
查看次数

错误ITMS-90085:"二进制文件中没有架构.Lipo未能检测到捆绑可执行文件中的任何体系结构."

我们已经构建了一个带有几个本机绑定的Xamarin应用程序(iOS,Android).该应用程序在设备和模拟器上运行良好,我们能够建立一个没有任何问题的存档(显然).

问题是当我们想要将构建上传到应用商店时(使用app loader或xcode 7.3.1),我们收到以下错误:

ERROR ITMS-90085: “No architectures in the binary. Lipo failed to detect any architectures in the bundle executable.”
Run Code Online (Sandbox Code Playgroud)

在应用程序上运行lipo -info会产生以下响应:

Architectures in the fat file: NameOfMyApp.iOS.app/NameOfMyApp.iOS are: armv7 arm64

在发布此问题之前,我们已经彻底搜索了一个答案,并确认了以下内容:

  • 产品名称是正确的
  • Xcode已安装
  • 应用程序加载器是最新版本
  • Bundle Id是正确的

如果有人有想法,将非常感谢帮助!

谢谢.

app-store xamarin.ios ios xamarin xcode7

10
推荐指数
2
解决办法
5488
查看次数

使用[NSDate date]时为什么ARC不释放内存,但使用[[NSDate alloc] init]工作正常?

我写了一些Objective-C似乎工作得很好的应用程序,除了不断增长的内存占用.我在最新版本的Xcode 4.6.2下使用ARC.我的系统是10.7.5.

我很新Objective-C,需要一些帮助来弄清楚我的记忆是怎么回事.我已经将问题缩小到解释为什么以下基本代码行为与它一样.

此代码添加在Xcode提供的基于Cilla的基于Cocoa的应用程序模板中(启用了ARC).

案例A.

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification{
    NSDate* d;
    for(int i=0; i<1000000; i++){
        d = [[NSDate alloc] init];
    }
}
Run Code Online (Sandbox Code Playgroud)

一切都按预期进行,ARC即时回收内存.即,内存使用历史非常平坦.当for循环结束时,该应用程序需要大约25MB的内存.

案例B

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification{
    NSDate* d;
    for(int i=0; i<1000000; i++){
        d = [NSDate date];
    }
}
Run Code Online (Sandbox Code Playgroud)

这里的事情对我来说真的很神秘.当刚刚运行应用程序时,(实际)内存使用量不断增加到大约53MB,然后永远保持在那里.

但是,在运行分配探查器工具时,我可以看到在for循环结束时,所有对象都被释放,非常像您对自动释放池所期望的那样.此外,用@autoreleasepool {}括起for循环的主体使得案例B的行为类似于案例A(如预期的那样).

那么,三个问题:

  1. 在ARC下,使用"autoreleased" [NSDate date]和alloc init对象有什么区别?(我认为这里的其他问题几乎没有.)
  2. 为什么ARC在运行代码时似乎没有启动?
  3. 为什么配置文件应用程序和实际应用程序的内存行为有所不同?

objective-c automatic-ref-counting

8
推荐指数
1
解决办法
1171
查看次数

使用UICollectionViewCell上的按钮显示数组中的数据

我有一个NSStrings,一个UILabel和一个阵列UICollectionView.

我的问题:

我想要数组的数量来确定它有多少UICollectionViewCell.

每个都UICollectionViewCell包含一个按钮.单击后,我希望此按钮使数组中与UICollectionViewCell数字对应的数据显示在标签中.

例如,如果用户单击第13个UICollectionViewCell按钮,则NSString数组中的第13个将成为UILabel文本.

我做了什么:

我已经UICollectionViewCell为我用于所有UICollectionViewCells 的nib文件创建了自己的子类,并将按钮连接到.h文件作为IBAction.我还导入了MainViewController.h包含存储NSStrings 的数组属性的那个.

当我在UICollectionViewCell动作中编辑代码时,我无法访问数组属性.按钮确实有效 - 我在IBAction方法中放置了一个NSLog ,它确实有效.

我在SO上搜索了数十个其他答案,但没有人回答我的具体问题.如果需要,我可以使用我的代码示例更新此内容.

xcode objective-c ios ios6 uicollectionview

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

didReceiveRemoteNotification:未附加到xcode iOS 8.0.2时未调用fetchCompletionHandler

当应用程序附加到xcode时,didReceiveRemoteNotification:fetchCompletionHandler会出现问题.

但是当我分离它时,即使收到通知也不会调用它.

我再次附加app(debug-> attach to process)并发送通知,didReceiveRemoteNotification:fetchCompletionHandler再次调用.

有人可以解释为什么didReceiveRemoteNotification:fetchCompletionHandler当我从xcode中分离它时没有被调用?

该应用程序没有强制关闭.我打开它并把它放到后台.

在iPhone 5 iOS 8.0.2
APNS Sandbox中测试.

谢谢.

xcode objective-c apple-push-notifications ios

7
推荐指数
0
解决办法
582
查看次数