小编ric*_*ter的帖子

来自表视图控制器的多个segue

我有一个小应用程序,它使用多个部分布局作为初始表视图.一个部分显示Twitter的最新趋势,另一部分显示Twitter的最新故事.当我点击趋势列表中的项目时,我转换到一个新的表格视图控制器,显示有关该趋势的最新推文.在故事部分的根控制器中,我能够在包含图像,链接等的不同视图控制器中显示更多信息.问题是,当我在故事部分中选择任何内容时,我被推送到为趋势部分设置的表视图控制器.我已经命名了每个segue,并为我想要转换到的两个视图都有自定义类,我这样做是为了检查调用哪个segue:

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    if([[segue identifier] isEqualToString:@"viewTrendsSearch"]) {

        //get the controller that we are going to segue to
        SearchTrendResultsViewController *strvc = [segue destinationViewController];

        //get the path of the row that we want from the table view
        NSIndexPath *path = [self.tableView indexPathForSelectedRow];

        //here we get the trend object from the array we set up earlier to hold all trends
        Trends *results = [currentTrends objectAtIndex:[path row]];

        //pass the object that was selected in the table view to the destination view …
Run Code Online (Sandbox Code Playgroud)

objective-c storyboard ios ios5

5
推荐指数
1
解决办法
8503
查看次数

OpenGL ES 2.0的学习曲线是否比Metal更陡峭?

我对3D图形非常感兴趣,并听到许多开发人员对Metal赞不绝口.

可以使用Metal和OpenGL ES 2.0的人评论学习曲线与OpenGL ES 2.0的比较吗?

作为一个致力于保持对iOS忠诚度的初学者,Metal比OpenGL ES 2.0更容易学习和掌握,还是因为它更先进而更难?

我希望这个问题对许多人有用,因为我想弄清楚从哪里开始.

opengl-es ios opengl-es-2.0 metal

5
推荐指数
2
解决办法
1273
查看次数

在选项卡之间滑动

如何使用 tabBarController 获得并排过渡。就像“正常”的 ScrollView 分页一样。

像这样的东西: 在此处输入图片说明

目前我正在使用 CrossDissolve:

class TransitioningObject: NSObject, UIViewControllerAnimatedTransitioning {

  func animateTransition(transitionContext: UIViewControllerContextTransitioning) {
    let fromView: UIView = transitionContext.viewForKey(UITransitionContextFromViewKey)!
    let toView: UIView = transitionContext.viewForKey(UITransitionContextToViewKey)!

    transitionContext.containerView()!.addSubview(fromView)
    transitionContext.containerView()!.addSubview(toView)

    UIView.transitionFromView(fromView, toView: toView, duration: transitionDuration(transitionContext), options: UIViewAnimationOptions.TransitionCrossDissolve) { finished in
        transitionContext.completeTransition(true)
    }
  }

  func transitionDuration(transitionContext: UIViewControllerContextTransitioning?) -> NSTimeInterval {
    return 0.25
  }
}
Run Code Online (Sandbox Code Playgroud)

作为并排过渡的扩展,我想在标签 self.view 上添加一个滑动手势。但这是后来的问题,现在我需要找出如何进行转换。

animation uitabbarcontroller ios swift

5
推荐指数
0
解决办法
1894
查看次数

如何将Wavefront OBJ文件转换为具有模型I/O的SCNNode

我从URL导入了Wavefront OBJ文件,现在我想将它插入我的iOS 9应用程序(在Swift中)的场景(SceneKit)中.到目前为止我所做的是:

let asset = MDLAsset(URL: localFileUrl)
print("count = \(asset.count)")  // 1
Run Code Online (Sandbox Code Playgroud)

将此转换为SCNNode的任何帮助将不胜感激.根据Apple的文档:

模型I/O可以与MetalKit,GLKit和SceneKit框架共享数据缓冲区,以帮助您有效地加载,处理和呈现3D资产.

但我不知道如何从MDLAsset获取缓冲区到SCNNode.

3d wavefront ios scenekit

5
推荐指数
1
解决办法
6690
查看次数

子类化SKSpriteNode

我正在尝试创建一个自定义的SKSpriteNode,通过子类化SKSpriteNode,在这里使用swift代码:

import Foundation
import SpriteKit

class CustomNode:SKSpriteNode{

    required init(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

    override init() {
    super.init()
    }
}
Run Code Online (Sandbox Code Playgroud)

当我将它添加到场景时,我遇到致命的错误:使用未实现的初始化程序'init(texture:color:size :)'用于类'Sandbox.CustomNode'

如果我改变

  super.init()
Run Code Online (Sandbox Code Playgroud)

对于

 super.init(texture: nil, color:UIColor.whiteColor(),size: CGRect(0,0,100,100))
Run Code Online (Sandbox Code Playgroud)

我得到了编译器错误:"调用中的额外参数'颜色'.

我正在使用XCode 6,beta 7.它是一个iOS项目.

sprite-kit swift

4
推荐指数
1
解决办法
1215
查看次数

SCNNode childNodes的总高度

我目前正在使用以下内容来获取a中所有子节点的总高度SCNNode.有没有更有效/更好/更短/更快捷的方式来做到这一点?

CGFloat(columnNode.childNodes.reduce(CGFloat()) {
    let geometry = $1.geometry! as SCNBox
    return $0 + geometry.height
})
Run Code Online (Sandbox Code Playgroud)

refactoring ios scenekit swift

4
推荐指数
1
解决办法
1438
查看次数

PHAsset位置 - GPS元数据,有什么问题?

尝试使用Phasset从UIImage添加位置:

// image is a variable like so: image: UIImage

var newAsset = PHAssetChangeRequest.creationRequestForAssetFromImage(image)
newAsset.location = CLLocation(latitude: coordinate.latitude, coordinate.longitude)
Run Code Online (Sandbox Code Playgroud)

显然,这段代码可以工作 - >将新资源保​​存到具有良好坐标的照片库中.我可以在图书馆里看到它.

但是当我使用exif工具和类似工具时,大多数时候,GPS字典是空的,好像没有设置位置.(另外,我注意到GPS信息不是exif格式)所以我想,位置信息也在其他地方......

那么PHAsset的位置属性有什么问题?如何设置正确的位置?

ios swift photokit

4
推荐指数
1
解决办法
4065
查看次数

在swift 2中的一个部分中的单元格之间添加空格

我需要添加填充,以便在swift 2.1中每个部分的每个单元格之间留出空间

但我设法做的就是为我不想要的部分添加标题.

如何在动态表格单元格之间添加空格?

以下是添加标头的代码:

    // Set the spacing between sections
    override func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return 10
    }

    override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
        let header = UIView()
        header.backgroundColor = UIColor.clearColor()
        return header
    }
Run Code Online (Sandbox Code Playgroud)

这是创建表视图代码:

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 1
}


override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return self.tableData.count
}


override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell  {

    //Table view …
Run Code Online (Sandbox Code Playgroud)

spacing cellpadding tableviewcell ios swift

4
推荐指数
1
解决办法
6456
查看次数

是否可以制作圆形NSButton?

我正在尝试创建自定义形状NSButton.特别是我试图使用自定义图像制作一个圆形按钮.我找到了一个关于自定义创建的教程,UIButton并尝试将其改编为NSButton.但是有一个很大的问题.clipsToBounds似乎只是iOS(

这是我的代码:

import Cocoa

class ViewController: NSViewController {

    @IBOutlet weak var mainButton: NSButton!
    var size = 32

    override func viewDidLoad() {
        super.viewDidLoad()
        configureButton()
                // Do any additional setup after loading the view.
    }
    func configureButton()
    {
        mainButton.wantsLayer = true
        mainButton.layerContentsRedrawPolicy = NSViewLayerContentsRedrawPolicy.OnSetNeedsDisplay
        mainButton.layer?.cornerRadius = 0.5 * mainButton.bounds.size.width
        mainButton.layer?.borderColor = NSColor(red:0.0/255.0, green:122.0/255.0, blue:255.0/255.0, alpha:1).CGColor as CGColorRef
        mainButton.layer?.borderWidth = 2.0
    }

    override var representedObject: AnyObject? {
        didSet {
        // Update the view, …
Run Code Online (Sandbox Code Playgroud)

macos nsbutton swift

4
推荐指数
2
解决办法
2082
查看次数

如何压制"未使用结果"警告

在Swift2.2中,我有一个扩展Optional,看起来像:

extension Optional {
    func ifNotNil<T>(_ closure:(Wrapped) -> T) -> T? {
        switch self {
        case .some (let wrapped):
            return closure(wrapped)
        case .none:
            return nil
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

它允许代码

anImageView.image = self.something.ifNotNil { self.getImageFor($0) }
Run Code Online (Sandbox Code Playgroud)

但有时候,我不关心结果:

myBSON["key"].string.ifNotNil {
    print($0}
}
Run Code Online (Sandbox Code Playgroud)

在Swift2.2中,它就像一个魅力.但是启动新的XCode8 Beta并转换为Swift3,我在第二种类型的任何地方都会收到警告.这几乎就像隐含着一样@warn_unused_result.这只是一个早期的测试版错误吗?或者我在Swift3中不能做的事情?或者我需要在Swift3中重新修复的东西?

swift swift3 xcode8

4
推荐指数
1
解决办法
984
查看次数