所以我想用 swift 或 Storyboard在 xcode 中制作一张只在 iPhone 6 和 6S 上可见的图像。你们有什么建议吗? :)
最佳答案
第一步是确定设备是 6 还是 6S。这是执行此操作的 Swift 代码:
import Foundation
import UIKit
extension UIApplication
{
public func isIPhone6or6S() -> Bool
{
let IPHONE_6 = "iPhone7,2"
let IPHONE_6S = "iPhone8,1"
var systemInfo = utsname()
uname(&systemInfo)
let machineMirror = Mirror(reflecting: systemInfo.machine)
let identifier = machineMirror.children.reduce("") { identifier, element in
guard let value = element.value as? Int8 where value != 0 else { return identifier }
return identifier + String(UnicodeScalar(UInt8(value)))
}
return ( identifier == IPHONE_6 || identifier == IPHONE_6S) ? true : false;
}
}
然后你就可以在你的 UIViewController 中轻松地使用它了
,就像这样:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var phoneOnlyImage: UIImageView!
@IBOutlet weak var hiddenStatusLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// hide it if it is not an iPhone 6 or 6S
self.phoneOnlyImage.hidden = !(UIApplication.sharedApplication().isIPhone6or6S())
// show the label so you know if it's working
self.hiddenStatusLabel.text = (self.phoneOnlyImage.hidden) ? "Image is Hidden" : "Image is visible"
}
}
关于ios - 如何使图像仅在 iPhone 6/6s 上可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37841933/