我正在尝试为iPhone构建输入屏幕.屏幕有许多输入字段.其中大多数位于屏幕顶部,但两个字段位于底部.当用户尝试编辑屏幕底部的文本时,键盘将弹出并覆盖屏幕.我找到了一个简单的解决方案,可以在发生这种情况时将屏幕向上移动,但结果是屏幕总是向上移动,当用户尝试编辑屏幕时,屏幕顶部的字段会移动.
有没有办法让屏幕只在编辑底部字段时移动?
我使用了这里找到的代码:
override func viewDidLoad() {
super.viewDidLoad()
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name: UIKeyboardWillShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name: UIKeyboardWillHideNotification, object: nil)
}
func keyboardWillShow(sender: NSNotification) {
self.view.frame.origin.y -= 150
}
func keyboardWillHide(sender: NSNotification) {
self.view.frame.origin.y += 150
}
Run Code Online (Sandbox Code Playgroud) 在搜索到处后,我发现有一种方法可以使用以下API在iPhone中添加eSIM
func addPlan(with: CTCellularPlanProvisioningRequest, completionHandler: (CTCellularPlanProvisioningAddPlanResult) -> Void)
Run Code Online (Sandbox Code Playgroud)
我不知道为什么但是完成处理程序没有返回CTCellularPlanProvisioningAddPlanResult的结果 只是打印以下错误.
Domain=NSCocoaErrorDomain Code=4099 "The connection to service named
com.apple.commcenter.coretelephony.xpc was invalidated." UserInfo=
{NSDebugDescription=The connection to service named
com.apple.commcenter.coretelephony.xpc was invalidated.
Run Code Online (Sandbox Code Playgroud)
我想知道这个API是如何工作的,你可以在下面看到我的代码
let ctpr = CTCellularPlanProvisioningRequest()
ctpr.address = "SMDP+"
ctpr.confirmationCode = ""
ctpr.eid = ""
ctpr.iccid = ""
let ctcp = CTCellularPlanProvisioning()
ctcp.addPlan(with: ctpr) { (result) in
print(result)
}
Run Code Online (Sandbox Code Playgroud)
我正在使用CoreTelephony框架
任何帮助都会被批评
在检查其他应用程序后,我发现GigSky正在做同样的事情,有谁知道他们在做什么?
更新:
截至目前,我在下面找到了权利请求URL检查
https://developer.apple.com//contact/request/esim-access-entitlement
我要求,但苹果没有回应.
我创建了一个类ListView,这是一个非常简单的Tableview。
如果我用IB实例化它,一切看起来都会很好。如果我以编程方式实例化它也是如此。
如果在a中以编程方式实例化它NSPopover,则表的每一行都会得到浅灰色背景。
这是从哪里来的?
这里的代码:
class ViewController: NSViewController {
let popover = NSPopover()
@IBOutlet weak var label: NSTextField!
@IBAction func bu1(_ sender: Any) {
popover.show(relativeTo: label.visibleRect, of: label, preferredEdge: NSRectEdge.maxY)
}
override func viewDidLoad() {
super.viewDidLoad()
let scrollListView = NSScrollView()
let listView = ListView(frame: NSRect(x:100, y: 100, width: 100, height: 100))
scrollListView.documentView = listView
let viewController = NSViewController()
viewController.view = scrollListView
popover.appearance = NSAppearance(named: NSAppearance.Name.vibrantLight)
popover.animates = false
popover.contentViewController = viewController
}
}
class ListView: NSTableView, NSTableViewDataSource, NSTableViewDelegate …Run Code Online (Sandbox Code Playgroud) 我正在快速学习并阅读了有关扩展中运算符重载的主题,其中包括:
extension StreetAddress: Equatable {
static func == (lhs: StreetAddress, rhs: StreetAddress) -> Bool {
return
lhs.number == rhs.number &&
lhs.street == rhs.street &&
lhs.unit == rhs.unit
}
}
Run Code Online (Sandbox Code Playgroud)
但我怎么知道我需要采用 Equatable 呢?
我尝试删除该协议,并且该功能的工作原理相同。不会报告任何警告或错误。为什么?
我的应用程序有文件下载选项,可以使用 alamofire 下载方法下载文件。下载完成后,我需要显示文件的预览,而不将其保存到内部/云存储。我怎样才能实现这个类似whatsapp的功能,在下载文件后显示预览。
func downloadFile(fileUrl: URL) {
let destination = DownloadRequest.suggestedDownloadDestination(for: .documentDirectory)
Alamofire.download(fileUrl, to: destination)
.response(completionHandler: { (downloadResponse) in
self.dic.url = downloadResponse.destinationURL
self.dic.uti = downloadResponse.destinationURL!.uti
let rect = CGRect(x: 0, y: 0, width: 100, height: 100)
self.dic.presentOpenInMenu(from: rect, in: self.view, animated: true)
})
}
Run Code Online (Sandbox Code Playgroud) 如何使用swift的高阶函数将一个struct数组的值映射/减少到另一个?目前iam迭代数组并将每个值附加到新数组.是否有任何"swifty"方法将元素映射到其他元素?
/// Code sample
let priorityList = [Priority]()
let pushRowList = [PushRowList]()
for priority in priorityList {
let id = priority.priorityID
let state = priority.priorityState
let item = PushRowList(optionId: id, optionTitle: state)
pushRowList.append(item)
}
Run Code Online (Sandbox Code Playgroud)
我希望像map,reduce等"swifty"方法来执行操作.
swift ×6
ios ×3
cocoa ×1
entitlements ×1
equatable ×1
keyboard ×1
macos ×1
nspopover ×1
nstableview ×1
operators ×1
overloading ×1
quicklook ×1
struct ×1
xcode6 ×1