小编LuK*_*eth的帖子

Swift检测屏幕上任何位置的触摸

我知道你可以使用touchesBegan,touchesEnded等来检测触摸.这些都可以.唯一的问题是他们只检测视图本身的触摸,而不是像文本字段那样检测视图顶部的任何内容.

我的目标是在一段时间不活动后创建超时.如果触摸屏幕,将重置超时,这意味着某人仍在使用该应用程序.它可以工作到目前为止,只要他们不点击任何控件(如标签,按钮,textview等).

我也可以在点击任何控件时重置超时,但这需要更多的情况(不同视图控制器上的不同类型的控件).

我正在寻找和结束所有屏幕点击检测方法.有任何想法吗?

touch ios swift

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

如何重置NSTimer?SWIFT代码

因此,我正在创建一个应用程序/游戏,您可以在计时器用完之前点击与图片对应的按钮,然后输掉.你得到1秒钟点击按钮,如果你选择了正确的按钮,那么计时器将重置并出现一张新照片.我无法重置计时器.一旦我试图重置它,它会在一秒后触发.这是代码:

loadPicture()运行viewDidLoad()

func loadPicture() {
    //check if repeat picture
    secondInt = randomInt
    randomInt = Int(arc4random_uniform(24))
    if secondInt != randomInt {
        pictureName = String(self.PicList[randomInt])
        image = UIImage(named: pictureName)
        self.picture.image = image
        timer.invalidate()
        resetTimer()

    }
    else{
        loadPicture()
    }
}
Run Code Online (Sandbox Code Playgroud)

这是resetTimer()方法:

func resetTimer(){
        timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: Selector("gameOverTimer"), userInfo: nil, repeats: false)

}
Run Code Online (Sandbox Code Playgroud)

我认为它可能与NSRunloops有关?我不确定.我甚至不知道NSRunloop是多么诚实.

xcode reset nstimer ios swift

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

Admob广告未显示iOS

我有横幅广告和插页式广告.当我使用adUnitID进行AdMob为您提供的测试目的时,它们会出现,但是当我使用实时广告时,它们都没有显示.横幅根本没有出现.当插页式广告出现时,它只是完全黑色.adUnitID是正确的.我其他应用上的广告目前看起来很不错.当我使用iOS模拟器和我的设备时,会出现问题.有任何想法吗?

var interstitial: GADInterstitial!

func createAndLoadAd() -> GADInterstitial{
    let ad = GADInterstitial(adUnitID: "ca-app-pub-7863284438864645/1835730011")
    let request = GADRequest()
    ad.loadRequest(request)
    return ad

}


override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    authenticateLocalPlayer()
    self.bannerView.adUnitID = "ca-app-pub-7863284438864645/9358996816"
    self.bannerView.rootViewController  = self
    let request: GADRequest = GADRequest()
    self.bannerView.loadRequest(request)
    self.interstitial = self.createAndLoadAd()

}

override func viewDidAppear(animated: Bool) {
    _ = GADRequest()
    //request.testDevices = ["2077ef9a63d2b398840261c8221a0c9b"]
    showAd()

}
func showAd(){

    if(self.interstitial.isReady){
        print("ad ready")
        self.interstitial.presentFromRootViewController(self)

    }
    else{
        print("ad not ready") …
Run Code Online (Sandbox Code Playgroud)

admob ios

8
推荐指数
2
解决办法
7556
查看次数

UIView动画在第一次尝试时没有动画

我的问题是我的UIView动画仅在第一次之后才能运行.我有两套不同的动画.第一组工作正常,第二组给我带来问题.第一组将4个按钮滑动到屏幕上,比我想要的更远.(我称之为extendedState的这些位置)第二组动画将它们稍微滑回到我想要的位置.这会产生弹回正确位置的效果.

在两个动画之间还有一个短暂的秒,一旦第一组动画完成,它就会将按钮闪回到它们的起始位置.通过将起始位置设置为extendedStates(停止动画时它们将处于的位置),按钮似乎不会在动画之间移动(这很好.这就是我想要的).

这是操作的顺序:

  1. 我点击一个启动第一组动画的按钮(效果非常好)
  2. 在animationDidStop块中,我启动了第二组动画(这是第一次没有动画的动画)

这是按钮处理程序的代码:

@IBAction func selectAnimal(sender: UIButton) {

    showButtons()
    bigCircle.enabled = false
    enableButtons()

    if(tapToSelectLabel.hidden) {
        animator.repositionButtonsToExtendedState(buttons) //sets the starting position to the extendedState so it appears not to move between animations
        animator.slideButtonsIntoScreen(buttons, delegate: self) //this is the first set of animations

    }

    if(sender.titleLabel != nil) {

        if(bigCircleLabel.text != "Choose an animal") {

            if let answer:String = bigCircleLabel.text {
                solution = game.checkAnswer(answer, question: game.threeQuestions[game.questionIndex])
            }

            showResponse()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在这里是animationDidStop块内的代码

let buttonRects:[CGRect] = [CGRectMake(834, 120, 175, 175),
                                        CGRectMake(631, …
Run Code Online (Sandbox Code Playgroud)

uiviewanimation ios swift

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

带圆角的 UIButton 的活动可点击区域?

所以我在我的故事板中创建了一个带边框的按钮。 在此处输入图片说明

然后我圆了它的角并添加了边框颜色:

button.layer.cornerRadius = button.bounds.size.width / 2
button.layer.borderColor = greenColor
Run Code Online (Sandbox Code Playgroud)

所以运行时结果如下所示: 在此处输入图片说明

然而,用户可以在按钮区域(以前的角落)之外稍微点击,并且仍然调用按钮功能。有没有办法将按钮的启用区域限制为圆形?

uibutton ios swift

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

我能看到我在Xcode项目上工作多久了吗?

标题说明了一切......

在微软这个词上有一个"总编辑时间"计数器,告诉你你在word文档上工作了多长时间.在Xcode 7.3中是否有类似的功能,我可以看到我在我的项目上工作了多长时间?我想要几个小时的时间.

编辑:基于答案,我看到有第三方软件来跟踪我的活动,这些软件中的任何一个都能追溯吗?IE我可以从过去检索我的小时数

- 也许我可以根据一些记录的版本来计算时间?或错误日志消息或我工作区深处的东西?有什么想法吗?

xcode

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

赋值给它后,Swift变量仍为0?

在我的viewDidLoad()中我打印出一个函数的结果

override func viewDidLoad() {
    super.viewDidLoad()
    print("top count = \(getCurrentOrderNum())")
}
Run Code Online (Sandbox Code Playgroud)

该函数计算如此值

func getCurrentOrderNum() -> Int{
    var orderNum = 0
    ref = Firebase(url: "urlhiddenforprivacy")
    ref.observeSingleEventOfType(.Value, withBlock: { snapshot in
        let count = snapshot.childrenCount
            orderNum = Int(count)
    })
    return orderNum
}
Run Code Online (Sandbox Code Playgroud)

但它还打印0?我试图将var orderNum:Int = Int()放在我的代码顶部,而不是放在我的getCurrentOrderNum函数中,但是这不起作用.我知道它在我的ref.observe函数中得到了正确的值,因为当我运行它时...它打印出正确的值

    ref.observeSingleEventOfType(.Value, withBlock: { snapshot in
        let count = snapshot.childrenCount
            orderNum = Int(count)
            print(orderNum) //*****THIS PRINTS THE RIGHT VALUE****
    })
    return orderNum
}
Run Code Online (Sandbox Code Playgroud)

ios firebase swift

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

Firebase 在 Swift iOS 中将我的 Double 作为字符串检索?

所以我正在将字典保存到我的 firebase 中。该词典位于我创建的名为 FoodItem 的自定义类中。这是我保存字典的行:

let favRef = self.ref.childByAppendingPath("urlhidden")
favRef.setValue(foodItem.toAnyObject())
Run Code Online (Sandbox Code Playgroud)

foodItem 是一个 FoodItem 对象,这是我的 FoodItem 类中实现 .toAnyObject() 的部分

var key: String
var ref: Firebase?
var name: String
var description: String
var minCal: Int
var maxCal: Int
var containsNuts: Bool
var vegetarian: Bool
var price: Double //**NOTE THAT PRICE IS A DOUBLE**

func toAnyObject()->[String:AnyObject]{
    return ["name":self.name,
            "price":self.price,
            "description":self.description,
            "minCal":self.minCal,
            "maxCal":self.maxCal,
            "containsNuts":self.containsNuts,
            "vegetarian":self.vegetarian]
    }
Run Code Online (Sandbox Code Playgroud)

所以这些代码组合在一起将我的数据保存到我的 Firebase。正常工作。但是当我检索数据时,我的价格变量是一个字符串?我来解释...

这是我检索数据的地方:

func getCurrentOrder(){
    let uid = ref.authData.uid
    ref = Firebase(url: "urlhidden")
    ref.observeEventType(.Value, withBlock: { snapshot in …
Run Code Online (Sandbox Code Playgroud)

string double ios firebase swift

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

标签 统计

ios ×7

swift ×6

firebase ×2

xcode ×2

admob ×1

double ×1

nstimer ×1

reset ×1

string ×1

touch ×1

uibutton ×1

uiviewanimation ×1