Tag: 快速

dynamic设置tableHeaderView高度

我的应用程序创build一个UITableViewController,它包含一个可以有任意高度的自定义tableHeaderView。 我一直在努力dynamic地设置这个头,因为似乎build议的方法已经缩短了这个头。 我的UITableViewController的相关代码: import UIKit import SafariServices class RedditPostViewController: UITableViewController, NetworkCommunication, SubViewLaunchLinkManager { //MARK: UITableViewDataSource var post: PostData? var tree: CommentTree? weak var session: Session! = Session.sharedInstance override func viewDidLoad() { super.viewDidLoad() // Get post info from api guard let postData = post else { return } //Configure comment table self.tableView.registerClass(RedditPostCommentTableViewCell.self, forCellReuseIdentifier: "CommentCell") let tableHeader […]

如何从Swift中的图像arrays高效地创build多行照片拼贴

问题 我正在build立一个从我放置到桌面视图的图像arrays的照片拼贴。 当图像的数量达到tableview单元格宽度的边界时(这将允许我显示拼贴中的图像行),我想要使图像换行。 目前我得到一个单一的行。 如果需要更多信息,请随时通知我们。 我最有可能不会以最有效的方式来处理这个问题,因为在arrays中使用的图像数量开始增加时会有延迟。 (对此的任何反馈将非常感激)。 Nota Bene 我正在创build一个拼贴图片。 它实际上是一个图像。 我想通过在内存中创build一个高效的列和行matrix来安排拼贴。 然后我用图像填充这些反义词。 最后,我快照生成的图像,并在需要时使用它。 该algorithm效率不如书面,只产生一行图像。 我需要一个轻量级的替代下面使用的algorithm。 我不相信在这种情况下,UICollectionView将是一个有用的替代scheme。 伪代码 给定一组图像和一个目标矩形(代表目标视图) 获取数组中的图像数量与每行允许的最大数量 定义一个适当大小的小矩形来容纳图像(以便每行填充目标矩形,即 – 如果一个图像应该填充该行;如果9个图像则应该完全填充该行;如果具有最大值的10个图像每行9个图像,然后从第10行开始第二行) 迭代收集 将每个矩形从左到右放置在正确的位置,直到达到最后一个图像或每行的最大数量; 继续下一行,直到所有的图像适合目标矩形 当达到每行最大数量的图像时,放置图像并设置下一个矩形出现在连续的行上 使用:Swift 2.0 class func collageImage (rect:CGRect, images:[UIImage]) -> UIImage { let maxSide = max(rect.width / CGFloat(images.count), rect.height / CGFloat(images.count)) UIGraphicsBeginImageContextWithOptions(rect.size, false, UIScreen.mainScreen().scale) var xtransform:CGFloat = 0.0 for img […]

将可滚动button添加到滚动视图

我想滚动滚动视图中的五个button。 当用户停止拖动一个button,它应该移动到下一个button。 我在这里做错了什么? class ViewController: UIViewController { @IBOutlet weak var categoryScrollView: UIScrollView! var categoryArr = ["Jack","Mark","Down","Bill","Steve"] override func viewDidLoad() { super.viewDidLoad() let scrollingView = colorButtonsView(CGSizeMake(150,categoryScrollView.frame.size.height), buttonCount: 5) categoryScrollView.contentSize = scrollingView.frame.size categoryScrollView.addSubview(scrollingView) categoryScrollView.showsVerticalScrollIndicator = false categoryScrollView.delegate = self categoryScrollView.pagingEnabled = true categoryScrollView.indicatorStyle = .Default } func colorButtonsView(buttonSize:CGSize, buttonCount:Int) -> UIView { let buttonView = UIView() buttonView.frame.origin […]

UITextView中的断言失败_firstBaselineOffsetFromTop

我正在学习Xcode中的视图debugging器 ,并使用Debug> View Debugging> Capture View Hierarchy捕获视图层次结构 。 但是,当我在我的应用程序尝试它,我得到了以下错误: 在 – [UITextView _firstBaselineOffsetFromTop],/BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3512.60.7/UITextView.m:1683断言失败 我可以在以下简单的项目中重现这一点: import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let myTextView = UITextView() myTextView.frame = CGRect(x: 50, y: 50, width: 200, height: 100) myTextView.text = "This is a test." view.addSubview(myTextView) } } 我在这里看到,它可能是由于不使用自动布局造成的。 这真的是一个错误,我们必须等待解决? 有没有一个迅速的解决方法? 更新 build议的重复看起来像我有同样的问题。 但是,不像那个问题,我要求一个Swift的解决方法。 这个问题的“答案”只是一个链接(我已经有了同样的链接)。 […]

如何在Swift中转义HTTP参数

我正在尝试发送到HTTP服务器 顺便说一句,这是我的代码: func sendPostToUrl(url:String, withParams params: [String: String?] ) { var request = NSMutableURLRequest(URL: NSURL(string: url)!) var session = NSURLSession.sharedSession() request.HTTPMethod = "POST" var err: NSError? var bodyData = "" for (key,value) in params{ if (value==nil){ continue } let scapedKey = key.stringByAddingPercentEncodingWithAllowedCharacters( .URLHostAllowedCharacterSet())! let scapedValue = value!.stringByAddingPercentEncodingWithAllowedCharacters( .URLHostAllowedCharacterSet())! bodyData += "\(scapedKey)=\(scapedValue)&" } request.HTTPBody = bodyData.dataUsingEncoding […]

Swift:alignment顶部而不是中间的UILabel文本

我想UILabel从顶部开始,即使文本很短,似乎NSTextAlignment不起作用 cell.textContent.text = comments[indexPath.row] cell.textContent.textAlignment = func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { //post's section == 0 if indexPath.section == 0 { let cell = tableView.dequeueReusableCellWithIdentifier("postCID", forIndexPath: indexPath) as! postCell cell.usernameLabel.text = "Steve Paul Jobs" cell.time.text = "9:42 PM" cell.commentsLabelCount.text = "12 Comments" cell.textContent.text = "Return the number of rows in the sectioReturn […]

背景使用单个NSURLSession uploadTaskWithRequest上传多个图像

我想要使​​用一个uploadTaskWithRequest方法在后台上传多个图像。 当尝试下面的代码返回从NSData的上传任务不支持后台会议…请如何实现这一点 func createRequest (param : NSDictionary ,imagearray :NSMutableArray, strURL : String) -> NSURLRequest { let boundary = generateBoundaryString() let url = NSURL(string: strURL) let request = NSMutableURLRequest(URL: url!) request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type") request.HTTPMethod = "POST" request.HTTPBody = createBodyWithParameters(param, image_array:imagearray,boundary: boundary); return request } func createBodyWithParameters(parameters: NSDictionary,image_array:NSMutableArray,boundary: String) -> NSData { let body = NSMutableData() […]

为什么AppDelegate.swift窗口是可选的?

我正在阅读苹果文档 ,当我发现这个句子: AppDelegate类包含一个属性: window 。 var window: UIWindow? 该属性存储对应用程序窗口的引用。 这个窗口代表了你的应用的视图层次的根。 这是所有的应用程序内容绘制的地方。 请注意,窗口属性是一个可选的 ,这意味着它可能没有值( 无 )在某一点。 我不明白的是:为什么这个物业在某个时候可能是零? 这是什么情况(来)无?

是否有可能刷新今日小工具的计时器?

我想知道是否有可能更新当前小部件中的计时器的文本标签。 我看了一下,但没有任何帮助。

Swift协议扩展方法分派与超类和子类

我发现了一个有趣的行为,这似乎是一个错误… 根据以下文章描述的行为: https://medium.com/ios-os-x-development/swift-protocol-extension-method-dispatch-6a6bf270ba94 http://nomothetis.svbtle.com/the-ghost-of-swift-bugs-future 输出不是我所期望的,当我添加SomeSuperclass ,而不是直接采用协议。 protocol TheProtocol { func method1() } extension TheProtocol { func method1() { print("Called method1 from protocol extension") } func method2NotInProtocol() { print("Called method2NotInProtocol from protocol extension") } } // This is the difference – adding a superclass class SomeSuperclass: TheProtocol { } // It works as expected when it […]