小编Dan*_*iel的帖子

如何旋转 Mapbox 地图视图的自定义标记标题(方向)

如何更改 Swift 上 Mapbox 地图上自定义标记的方向(标题)。这是我的代码

func mapView(_ mapView: MGLMapView, imageFor annotation: MGLAnnotation) -> MGLAnnotationImage? {
    var annotationImage = mapView.dequeueReusableAnnotationImage(withIdentifier: "annotation")

    if annotationImage == nil {

        var image = UIImage(named: "mapdirection")!
        image = image.withAlignmentRectInsets(UIEdgeInsets(top: 0, left: 0, bottom: image.size.height/2, right: 0))

        annotationImage = MGLAnnotationImage(image: image, reuseIdentifier: "annotation")
    }
    return annotationImage
}
Run Code Online (Sandbox Code Playgroud)

ios swift mapbox-gl mglmapview

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

如何在 UITextView 中添加图像?

我正在制作一个笔记应用程序,但遇到了麻烦。

我想将图像放入UITextView中。我使用NSAttributedString将图像放入UITextView中,但是当我从 imagepicker 中放入图像时,图像大小太大,如下所示

图像

我想让它像苹果笔记应用程序一样

图片2

我怎么知道呢?

   let images = selectedImage
   let attachment = NSTextAttachment()

   attachment.image = images

   let attString = NSAttributedString(attachment: attachment)

   textView.textStorage.insertAttributedString(attString, atIndex: textView.selectedRange.location)
Run Code Online (Sandbox Code Playgroud)

uitextview uiimage ios swift

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

Swift SceneKit照明和影响发射纹理

我正在开发一个关于太阳系的应用程序.我试图关闭发射纹理,光线照射到行星表面.但问题是,默认情况下,发射纹理总是显示发射点,无论光线是否存在.

我的要求简而言之:(我想隐藏发光点,在光线照射到表面的地方) 在此输入图像描述

override func viewDidLoad() {
    super.viewDidLoad()

    let scene = SCNScene()

    let earth = SCNSphere(radius: 1)
    let earthNode = SCNNode()
    let earthMaterial = SCNMaterial()
    earthMaterial.diffuse.contents = UIImage(named: "earth.jpg")
    earthMaterial.emission.contents = UIImage(named: "earthEmission.jpg")
    earth.materials = [earthMaterial]
    earthNode.geometry = earth
    scene.rootNode.addChildNode(earthNode)

    let lightNode = SCNNode()
    lightNode.light = SCNLight()
    lightNode.light?.type = .omni
    lightNode.position = SCNVector3(x: 0, y: 10, z: 5)
    scene.rootNode.addChildNode(lightNode)

    sceneView.scene = scene


}
Run Code Online (Sandbox Code Playgroud)

ios scenekit swift

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

使用自动布局绘制CAShapeLayer

我正在尝试使用CAShapeLayer绘制圆形按钮并为其设置动画,但是仅该绘制让我很头疼-我似乎无法弄清楚如何将数据传递到类中。

这是我的设置:-会绘制CAShapeLayer的UIView类型的类-该视图在我的视图控制器中呈现,并使用自动布局约束构建

我尝试使用layoutIfNeeded,但似乎传递数据的时间太晚,无法绘制视图。我也尝试过在vieWillLayoutSubviews()中重画视图,但是什么也没有。下面的示例代码。我究竟做错了什么?

我是否太早/太迟地传递数据?我绘制bezierPath太晚了吗?

我非常感谢指针。

也许还有第二个后续问题:是否有一种更简单的方法来绘制与其视图大小绑定的圆形路径?

在我的View Controller中:

import UIKit

class ViewController: UIViewController {

    let buttonView: CircleButton = {
        let view = CircleButton()
        view.backgroundColor = .black
        view.translatesAutoresizingMaskIntoConstraints = false
        return view
    }()

    override func viewWillLayoutSubviews() {
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        view.addSubview(buttonView)
        buttonView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
        buttonView.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
        buttonView.widthAnchor.constraint(equalTo: view.widthAnchor, multiplier: 0.75).isActive = true
        buttonView.heightAnchor.constraint(equalTo: view.heightAnchor, multiplier: 0.25).isActive = true
        buttonView.layoutIfNeeded()
        buttonView.arcCenter = buttonView.center
        buttonView.radius = buttonView.frame.width/2
    }

    override func viewDidAppear(_ animated: Bool) {
        print(buttonView.arcCenter)
        print(buttonView.radius)
    } …
Run Code Online (Sandbox Code Playgroud)

uibezierpath autolayout swift

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

swift - 如何删除 NSAttributedString 中的空白(空)行?

我正在制作一个笔记应用程序。我将属性文本保存在 DetailVC 上,并在UITableViewCell 标签中显示预览。

在标签中我有这样的文字

The Bold Title

my Text
Run Code Online (Sandbox Code Playgroud)

我想改变这个

The Bold Title
my Text
Run Code Online (Sandbox Code Playgroud)

我在字符串中找到了解决方案

 let regex = try! NSRegularExpression(pattern: "\n+", options: [])
 let newString = regex.stringByReplacingMatches(in: MyString, options: [], range: NSRange(location: 0, length: MyString.characters.count), withTemplate: "\n")
Run Code Online (Sandbox Code Playgroud)

但我怎样才能在NSATTirbutedString中做到这一点?

请帮忙!

uitableview nsattributedstring ios nsregularexpression swift

3
推荐指数
1
解决办法
3208
查看次数

Swift UIImage转换为PDF

在我的应用程序必须从iPad库销售UIImage并转换为PDF并保存在服务器端.

我可以选择图像并将其发送到服务器端,但Backend说pdf为空(空数据)

我还在控制台中看到警告/错误:发现扩展时遇到[发现]错误:错误域= PlugInKit代码= 13"查询已取消"UserInfo = {NSLocalizedDescription =查询已取消}

我哪里错了?先感谢您!

我试过的代码

//Opens gallery to select Image
func clickImage() {

    let image = UIImagePickerController()
    image.delegate = self
    image.sourceType = UIImagePickerControllerSourceType.photoLibrary
    image.allowsEditing = false
    self.present(image, animated: true, completion: nil)

}

//image picker function
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
         scannedPhoto.image = image
    } else{
        print("Something went wrong")
    }

    self.dismiss(animated: true, completion: nil)

    uploadAttachment()

}

//Convert UIImage to PDF
func createPDF(image: UIImage) …
Run Code Online (Sandbox Code Playgroud)

pdf uiimage ios nsurlsession swift

2
推荐指数
1
解决办法
3989
查看次数

如何在 Realm Swift 中重新排序 UITableView 单元格?

我正在将Realm用于我的笔记应用程序。我以前使用过核心数据,现在正在将核心数据迁移到领域,但我遇到了麻烦!像这样重新排序对象会导致错误。

do {  
let realm = try Realm()
let source = myNote[sour!.row]        
try realm.write() {
 myNote.remove(objectAtIndex: sourceIndexPath!.row)
 myNote.insert(source, at: destensionIndexPath!.row)
 }
 }
 catch {
 print("handle error")
 }
Run Code Online (Sandbox Code Playgroud)

所以我向我的对象添加了 orderPosition属性

dynamic var orderPosition: Int = 0
Run Code Online (Sandbox Code Playgroud)

并将tableView moveRowAtIndexPath更改为此 ReorderingRealmResultsInTableView.swift

但这并没有多大帮助。那么如何重新排序领域中的对象

realm uitableview ios swift

0
推荐指数
1
解决办法
1462
查看次数