Questions tagged «swift»

Swift是Apple Inc.针对其平台和Linux开发的一种安全,快速且具有表现力的通用编程语言。Swift是开源的。仅将标记用于有关语言功能或在Swift中需要代码的问题。将标签[ios],[ipados],[macos],[watch-os],[tvos],[cocoa-touch]和[cocoa]用于有关平台或框架的(语言不可知)问题。


25
UITableView单元格的动态高度问题(快速)
可变长度的动态文本将注入到表格单元格标签中。为了动态调整tableview单元的高度,我在中实现了viewDidLoad(): self.tableView.estimatedRowHeight = 88.0 self.tableView.rowHeight = UITableViewAutomaticDimension 这对于尚未UITableViewAutomaticDimention滚动到的单元格效果很好(滚动到该单元格时即会调用),但不适用于最初在向表中加载数据时在屏幕上呈现的单元格。 我尝试过简单地重新加载数据(如许多其他资源中所建议): self.tableView.reloadData() 在这两个方面viewDidAppear(),viewWillAppear()都没有用。我迷路了..有人知道如何让xcode渲染屏幕上最初加载的单元格的动态高度吗? 如果有更好的替代方法,请告诉我。

8
在Swift中以编程方式在选项卡之间切换
我需要编写一些代码以在iOS应用启动时将视图切换到另一个选项卡(例如,默认情况下显示第二个选项卡,而不是第一个)。 我是Swift的新手,并且已经完成以下工作: 该代码可能应该放在第一个选项卡的ViewController的重写func viewDidLoad()函数中。 以下代码显示了第二个ViewController,但没有在底部显示标签栏(vcOptions是第二个ViewController标签项: let vc : AnyObject! = self.storyboard.instantiateViewControllerWithIdentifier("vcOptions") self.showViewController(vc as UIViewController, sender: vc) 我认为答案可能在于使用UITabbarController.selectedIndex = 1,但不确定如何实现。

3
在Xcode上启用Firebase Analytics
我正在尝试测试Firebase Analytics的实施。他们在文档中指出: 通过将-FIRDebugEnabled参数传递给应用程序来启用调试模式。您可以在应用程序的Xcode方案中添加此参数。通过-FIRDebugEnabled启用调试模式时,应用程序的进一步执行也将处于调试模式。为了返回默认模式,必须使用应用程序参数-FIRDebugDisabled显式禁用调试模式。 不幸的是,我不知道我在哪里设置这个方案。在Android中,这很容易。帮助将不胜感激。

13
使用NSCoding将自定义Swift类保存到UserDefaults
我目前正在尝试将自定义Swift类保存到NSUserDefaults。这是我的游乐场代码: import Foundation class Blog : NSObject, NSCoding { var blogName: String? override init() {} required init(coder aDecoder: NSCoder) { if let blogName = aDecoder.decodeObjectForKey("blogName") as? String { self.blogName = blogName } } func encodeWithCoder(aCoder: NSCoder) { if let blogName = self.blogName { aCoder.encodeObject(blogName, forKey: "blogName") } } } var …

14
如何将UICollectionView的高度调整为UICollectionView的内容大小的高度?
我希望UICollectionView(红色的)缩小到内容大小的高度,在这种情况下,UICollectionViewCells(黄色的)是因为有很多空白空间。我尝试使用的是: override func layoutSubviews() { super.layoutSubviews() if !__CGSizeEqualToSize(bounds.size, self.intrinsicContentSize) { self.invalidateIntrinsicContentSize() } } override var intrinsicContentSize: CGSize { return self.collection.contentSize } 但return self.collection.contentSize总是返回(width,0),因此,它会缩小到高度30的值(尽管我在constaint> = 30的情况下在XIB文件中为高度设置的值)。

5
如何快速换行
有没有办法像Java的“ \ n”一样快速制作新行? var example: String = "Hello World \n This is a new line"
79 string  swift 

14
在SwiftUI中有条件地使用视图
我正在尝试找出正确的方法来有条件地包含swiftui视图。我无法if直接使用视图的内部,而不得不使用堆栈视图来做到这一点。 这可行,但似乎会有更清洁的方法。 var body: some View { HStack() { if keychain.get("api-key") != nil { TabView() } else { LoginView() } } }
79 swift  swiftui 

7
使用Swift在iOS中发送短信
首先,我真的很惊讶这不是重复的,因为在Objective-C中有大量的堆栈溢出问题可以解决这个问题,但是我还没有看到使用Swift的好答案。 我正在寻找的是Swift中的代码段,该代码段将任意字符串作为文本消息的主体发送到给定的电话号码。从本质上讲,我希望像这样从苹果的官方文档,但是在斯威夫特,而不是Objective-C的。 我认为这并不难,因为可以在Android中仅用几行代码就可以完成。 编辑:我正在寻找的是5-20行Swift代码,我不同意这个范围太广。在Java(适用于Android)中,解决方案如下所示: package com.company.appname; import android.app.Activity; import android.telephony.SmsManager; public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); public static final mPhoneNumber = "1111111111"; public static final mMessage = "hello phone"; SmsManager.getDefault().sendTextMessage(mPhoneNumber, null, mMessage, null, null); } } 现在这是android解决方案,只有11行。Java往往比Swift更冗长,因此我怀疑我要问的是“范围太广”,很可能我不知道如何使用Objective-C MessageComposer对象,因为我链接的文档关于Swift中的用法,上述内容尚不清楚。
78 ios  swift  iphone  sms  imessage 

5
正确使用Alamofire的URLRequestConvertible
我读过一些教程,@ mattt的自述文件,但无法弄清楚几件事。 URLRequestConvertible现实世界中API的正确用法是什么?好像我将通过URLRequestConvertible为所有API实现协议来创建一个路由器一样,几乎无法读取。我应该为每个端点创建一个路由器吗? 第二个问题很可能是由于缺乏Swift语言经验引起的。我不知道为什么enum要用来建造路由器?为什么我们不将类与静态方法一起使用?这是一个示例(来自Alamofire的自述文件) enum Router: URLRequestConvertible { static let baseURLString = "http://example.com" static let perPage = 50 case Search(query: String, page: Int) // MARK: URLRequestConvertible var URLRequest: NSURLRequest { let (path: String, parameters: [String: AnyObject]?) = { switch self { case .Search(let query, let page) where page > 1: …
78 ios  swift  alamofire 

13
在Swift中获取设备方向
我想知道如何在Swift中获得当前的设备方向?我知道有一些Objective-C的示例,但是我无法在Swift中运行它。 我正在尝试确定设备方向,并将其放入if语句中。 这是我遇到最多问题的那条线: [[UIApplication sharedApplication] statusBarOrientation]
78 ios  swift  orientation 

2
如何从响应中断的内部结构中断外部循环(循环/切换)
如何在响应breakSwift中的语句的嵌套结构中打破外部循环? 例如: while someCondition { if someOtherCondition { switch (someValue) { case 0: // do something case 1: // exit loop case 2...5: // do something else default: break } } else { someCondition = false } } 将break只会让我离开的switch,而在斯威夫特,它具有为空的情况下不得使用。如何完全从中退出循环switch?


6
在Swift中汇总CGFloat
如何在Swift中汇总CGFloat?我已经尝试过了,ceil(CDouble(myCGFloat))但是只能在iPad Air和iPhone 5S上使用。 在另一台模拟设备上运行时,出现错误提示 'NSNumber' is not a subtype of 'CGFloat'
78 swift  rounding  cgfloat  ceil 

4
减少数组在Swift中设置
我正在尝试将对象数组简化为Swift中的集合,这是我的代码: objects.reduce(Set<String>()) { $0.insert($1.URL) } 但是,我得到一个错误: Type of expression is ambiguous without more context. 我不明白问题是什么,因为URL的类型肯定是String。有任何想法吗?
78 arrays  swift  set  reduce 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.