小编Ste*_*fan的帖子

横向模式下UINavigationBar的自定义背景

我正在为我的UINavigationBar添加自定义背景.只要手机处于纵向模式,它就能正常工作.一旦我切换到横向模式,一半的条形显示为蓝色(默认的导航栏颜色),其中一半有我的图像

如何在横向模式下拉伸图像并在纵向模式下再次缩小图像?

谢谢

解决方案如果
有人正在寻找如何将图像添加到导航栏的答案 - 就在这里

UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, 480.0, 44.0)];
[imgView setImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"navbar_landscape" ofType:@"png"]]];
[navigationController.navigationBar addSubview:imgView];
[imgView release];
Run Code Online (Sandbox Code Playgroud)

iphone uinavigationbar

7
推荐指数
3
解决办法
8857
查看次数

使用传感器事件检测手机方向

我有一个Activity,需要锁定它的方向

setRequestedOrientation(screenOrientation);
Run Code Online (Sandbox Code Playgroud)

但我希望获得方向更新,以便我可以对UI进行调整(想象一下HTC相机应用程序,只有按钮的图标改变方向).所以我找到了这门课.它提供0到360之间的方向值.我可以过滤此值,即完美间隔[a, b],如果a<x<b方向是横向还是纵向?计算意味着什么?任何提示?

android

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

iOS 8 - 使用标识符查找UIView的约束

我正在尝试在viewDidLoad中为iPhone 4S,5,5S更改ImageView的约束:

for (NSLayoutConstraint *constraint in logoImage.constraints) {
    if ([constraint.identifier isEqualToString:@"logoTopIdentifier"]) {
        constraint.constant=10;
    }
}
Run Code Online (Sandbox Code Playgroud)

似乎它甚至不在循环中迭代.有没有其他方法来获得标识符的特定约束?

constraints objective-c ios autolayout adaptive-layout

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

压缩后保持图像方向

这是我的代码

        //
        // reading an image captured using phone camera. Orientation of this
        // image is always return value 6 (ORIENTATION_ROTATE_90) no matter if
        // it is captured in landscape or portrait mode
        //
        Bitmap bmp = BitmapFactory.decodeFile(imagePath.getAbsolutePath());

        //
        // save as : I am compressing this image and writing it back. Orientation 
        //of this image always returns value 0 (ORIENTATION_UNDEFINED)
        imagePath = new File(imagePath.getAbsolutePath().replace(".jpg", "_1.jpg"));



        FileOutputStream fos0 = new FileOutputStream(imagePath);
        boolean b = bmp.compress(CompressFormat.JPEG, 10, fos0);
        fos0.flush();
        fos0.close();
        fos0 …
Run Code Online (Sandbox Code Playgroud)

android android-image

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

在bundle savedInstanceState中保存ArrayList

ArrayList是在类级别定义的.这些是我保存的实例方法:

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putStringArrayList("savedList", list);
}


@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    list=savedInstanceState.getStringArrayList("savedList");
}
Run Code Online (Sandbox Code Playgroud)

但是,当我改变方向时,ArrayList是空白的

android

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

如何在tvOS中打开GameCenter

如何在tvOS中打开游戏中心排行榜?我已将此代码用于我的iPhone游戏,tvOS上没有"leaderboardIdentifier".

我计划在AppleTV上使用相同的排行榜(这将是同一个游戏).

非常感谢你的帮助,Stefan

    @IBAction func handleGameCenter(sender: UIButton) {
        let gcViewController = GKGameCenterViewController()
        gcViewController.viewState = GKGameCenterViewControllerState.Leaderboards
        gcViewController.leaderboardIdentifier = gamePrefix + "Leaderboard"
        gcViewController.gameCenterDelegate = self

        // Show leaderboard
        self.presentViewController(gcViewController, animated: true, completion: nil)
    }

    func gameCenterViewControllerDidFinish(gameCenterViewController: GKGameCenterViewController) {
        gameCenterViewController.dismissViewControllerAnimated(true, completion: nil)
    }
Run Code Online (Sandbox Code Playgroud)

game-center apple-tv game-center-leaderboard tvos

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

重命名Xcode项目后出现NSKeyedUnarchiver错误

我刚刚重命名了我的Xcode项目,当我运行它时出现了这个错误:

2015-11-14 05:32:42.337 Buck Tracker [3537:1456100] *由于未捕获异常'NSInvalidUnarchiveOperationException'而终止app,原因:'* - [NSKeyedUnarchiver decodeObjectForKey:]:无法解码类的对象(iBudgeter.Record)关键(NS.objects); 该类可以在源代码中定义,也可以在未链接的库中定义

Buck Tracker是新名称,iBudgeter是原始名称.RecordNSObject我创建的用于存储一些数据的自定义.

我尝试将项目重命名为iBudgeter但它没有用.恢复到git中的先前版本确实有帮助,但是当我再次重命名它时我得到了同样的错误.

那有什么建议吗?

xcode nsdata ios nskeyedunarchiver swift

6
推荐指数
3
解决办法
2591
查看次数

如何从SKView过渡到SCNView?

嘿好吧我有一个UIView只是标准的默认控制器,但后来我有一个SCNView在另一个.swift文件,所以我可以从标准过渡UIViewController到一个SKScene但我不能从一个转换SKSceneSCNcene捕获是在我的代码

 class PlayController: UIViewController, ADBannerViewDelegate, SKPhysicsContactDelegate, SKSceneDelegate, SCNSceneRendererDelegate, SCNPhysicsContactDelegate{


    let scnView = self.view as! SCNView
    let skScene = scnView.overlaySKScene

    scnView.overlaySKScene = skScene
    scnView.backgroundColor = UIColor.whiteColor()

    scnView.scene = FieldScene
    scnView.delegate = self

    scnView.allowsCameraControl = true
    scnView.showsStatistics = false
Run Code Online (Sandbox Code Playgroud)

我正试图转换到的控制器如上所示从UIViewController开始,然后在线下进一步得到SCNView.在这行代码中让scnView = self.view为!SCNView但是当我试图从SKScene这个场景转换到这个场景时,我将如何在代码Swift中做到这一点?

我正在开始的控制器如下所示

import iAd
import UIKit
import GameKit
import SceneKit
import StoreKit
import SpriteKit
import QuartzCore
import Foundation
import AVFoundation
import AudioToolbox

//============================================================ …
Run Code Online (Sandbox Code Playgroud)

xcode transitions ios sprite-kit swift

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

SpriteKit - 创建随机对象并使用deltatime移动它们

在我的游戏中,我想每隔几秒调用一个函数,从数组中创建随机对象.目前我正在通过SKAction移动这个对象,如下所示:

func createRandmoObject() {
    let random = arc4random_uniform(4)
    randomObject = randomObjects[random]

    randomObject.runAction(SKAction.moveTo(CGPoint(x: randomObject.position.x, y: 0 - randomObject.size.height), duration: 3))

    addChild(randomObject)

}
Run Code Online (Sandbox Code Playgroud)

当对象击中播放器时,它会被删除,然后再次调用该函数.这种方法的问题是我发现物体的运动并不总是平滑的,当帧速率因某种原因而下降时,会发生口吃.现在我知道如何在更新方法中计算增量时间,但我不确定当对象不断变化而不是总是在屏幕上时如何将它应用于对象,并且还有一些其他对象(让我们想到他们是敌人,还有另一个创造另一个敌人的功能)那么我怎样才能使这些随机物体按照delta时间而不是SKAction移动?

random timedelta sprite-kit skaction swift

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

将光滑的查询组合到单个查询中

使用Slick 3.1,如何将多个查询组合成同一类型的单个查询?这不是连接或联合,而是组合查询"段"以创建单个查询请求.这些"段"可以是任何单独有效的查询.

val query = TableQuery[SomeThingValid]

// build up pieces of the query in various parts of the application logic
val q1 = query.filter(_.value > 10)
val q2 = query.filter(_.value < 40)
val q3 = query.sortBy(_.date.desc)
val q4 = query.take(5)

// how to combine these into a single query ?
val finalQ = ??? q1 q2 q3 q4 ???

// in order to run in a single request
val result = DB.connection.run(finalQ.result)
Run Code Online (Sandbox Code Playgroud)

编辑:预期的SQL应该是这样的:

SELECT * FROM "SomeThingValid" WHERE …
Run Code Online (Sandbox Code Playgroud)

scala slick-3.0

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